"H. Morishima"
My compiler issues the following warning message (boost v1.29.0, G++ 3.2 with warning level high):
boost_1_29_0/boost/type_traits/config.hpp:90:55: warning: "BOOST_MSVC" is not defined
boost/type_traits/config.hpp: line 90 is:
# if (........ || BOOST_MSVC > 1301 || ........)
It should work fine as is.
Shouldn't it be as follows?
# if (........ || #defined(BOOST_MSVC) && BOOST_MSVC > 1301 || ........)
If an identifier is not defined, it should expand to 0 on a #if (or #elif) directive line. The only reason you sometimes see what you have above (minus the extra # before 'defined') is that sometimes the macro actually expands to 0. This should be fine: #if BOOST_MSVC Provided that either BOOST_MSVC is *not* defined, or it expands to a numeric expression that the preprocessor can handle.
H. Morishima
Paul Mensonides