
On 2010-03-07 12:39, Joseph Gauterin wrote:
Am I right in thinking that the test would pass if not for a bug in MSVC10?
Yes, indeed.
If so, I'd be more inclined to mark the test as an expected failure on the MSVC10 than change the test itself.
Actually I have considered this approach as well, but I changed my mind. Because it's not the purpose of libs/utility/swap/test/std_bitset.cpp to test the initialization of an std::bitset. Its purpose is to test whether boost::swap correctly swaps two different std::bitset objects: typedef std::bitset<8> bitset_type; const bitset_type initial_value1 = <some value>; const bitset_type initial_value2 = <some other value>; bitset_type object1 = initial_value1; bitset_type object2 = initial_value2; boost::swap(object1,object2); BOOST_CHECK_EQUAL(object1,initial_value2); BOOST_CHECK_EQUAL(object2,initial_value1); How those initial_value1 and initial_value2 are actually initialized is irrelevant to the test. However, std_bitset.cpp should test whether boost::swap does the right thing, on any platform, including Microsoft Windows + VC 10. Hope you agree. But please let me know if you still object against the workaround, which just replaces "1ul" by "1", and "2ul" by "2": const bitset_type initial_value1 = 1; const bitset_type initial_value2 = 2; Of course, you can also add your comments to the ticket: https://svn.boost.org/trac/boost/ticket/3984 Kind regards, Niels -- Niels Dekker http://www.xs4all.nl/~nd/dekkerware Scientific programmer at LKEB, Leiden University Medical Center