Boost logo

Boost :

Subject: Re: [boost] [conversion] Need a help with MSVC failures
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-01-30 14:27:29


On 1/30/2014 3:14 AM, Antony Polukhin wrote:
> 2014-01-30 Edward Diener <eldiener_at_[hidden]>
>
>> On 1/30/2014 12:24 AM, Antony Polukhin wrote:
>>
>>> Hi,
>>>
>>> Some of the tests for Boost.LexicalCast fail on any MSVC compiler.
>>> Unfortunately currently I have no access to Windows.
>>>
>>> Could someone please investigate the failures and tell me were to search
>>> the bug?
>>>
>>>
>> From where are the lexical_cast tests run in modular-boost ?
>>
>
> boost/libs/conversion/test/

I assume this is in the develop branch tests. Running the tests on my
machine, with msvc-12.0 I see two failures.

First is:

lexical_cast_loopback_test.cpp(55): error in
"test_round_conversion_double": check min_ == lexical_cast<T>(min_s) failed
lexical_cast_loopback_test.cpp(55): error in
"test_round_conversion_long_double": check min_ ==
lexical_cast<T>(min_s) failed

This looks like the roundtrip conversion with double and long double is
not accurate enough.

Second is:

lexical_cast_containers_test.cpp
C:\Programming\VersionControl\modular-boost\boost/intrusive/detail/has_member_function_callable_with.hpp(200)
: error C2228: left of '.select_on_container_copy_construction' must
have class/struct/union
         type is 'boost::move_detail::add_rvalue_reference<U>::type'
 
C:\Programming\VersionControl\modular-boost\boost/intrusive/detail/has_member_function_callable_with.hpp(276)
: see reference to class template instantiation
'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction_impl<Fun,true,>'
being compiled
         with
         [
             Fun=std::allocator<char>
         ]
 
C:\Programming\VersionControl\modular-boost\boost/container/allocator_traits.hpp(262)
: see reference to class template instantiation
'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction<const
Alloc,>' being compiled
         with
         [
             Alloc=std::allocator<char>
         ]
 
C:\Programming\VersionControl\modular-boost\boost/container/string.hpp(76)
: see reference to class template instantiation
'boost::container::allocator_traits<Allocator>' being compiled
         with
         [
             Allocator=std::allocator<char>
         ]
 
C:\Programming\VersionControl\modular-boost\boost/container/string.hpp(473)
: see reference to class template instantiation
'boost::container::container_detail::basic_string_base<Allocator>' being
compiled
         with
         [
             Allocator=std::allocator<char>
         ]
         lexical_cast_containers_test.cpp(35) : see reference to class
template instantiation
'boost::container::basic_string<char,std::char_traits<char>,std::allocator<char>>'
being compiled

It looks like 'boost::move_detail::declval<F>()' is not resolving to
anything but I will let you figure this out.

One thing I noticed. The tester must run 'b2 headers' after getting the
conversion 'develop' branch and before running the tests. This is
because of the hard link issue I have brought up a number of times on
this mailing list.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk