[integer] patch for MSVC++ 6.0

There's currently a test case for Boost.Integer failing in MSVC ++ 6.0 with a LNK1179 error: http://tinyurl.com/8rpuu This bug in MSVC++ 6.0 shows when the compiler emits different symbol names with a very long common prefix: in this particular case, the offending symbol names are generated by a couple of BOOST_CHECK instantiations. The proposed patch works around the problem and only affects to the test code, not the library, so I guess it's safe enough. OK to commit? Joaquín M López Muñoz Telefóinca, Investigación y Desarrollo 56a57,63
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200) // MSVC++ 6.0 issues a LNK1179 error (duplicate comdat) when the compiler // generates different symbol names with a very long common prefix: // the dummy "&& true" disambiguates between the symbols generated by this // BOOST_CHECK instantiation and the preceding one. BOOST_CHECK(traits::is_integer && true); #else 57a65 #endif

On May 25, 2005, at 4:46 AM, Joaquín Mª López Muñoz wrote:
There's currently a test case for Boost.Integer failing in MSVC ++ 6.0 with a LNK1179 error:
This bug in MSVC++ 6.0 shows when the compiler emits different symbol names with a very long common prefix: in this particular case, the offending symbol names are generated by a couple of BOOST_CHECK instantiations. The proposed patch works around the problem and only affects to the test code, not the library, so I guess it's safe enough. OK to commit?
Yes. Doug
participants (2)
-
Douglas Gregor
-
Joaquín Mª López Muñoz