
Angus Leeming ha escrito:
Compiling the attached code with g++ 3.4.4 as g++ -Wundef -Iboost/cvs -o trial trial.cpp produces a heap of warnings warning: "__BORLANDC__" is not defined warning: "_MSC_FULL_VER" is not defined warning: "__MWERKS__" is not defined
The warnings are produced by code like: #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
and are, of course, silenced by: #if defined(__MWERKS__) && \ BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
Grepping around the boost sources, I see that my 'fix' has been applied about 70 times already in the 1260 uses of BOOST_WORKAROUND. Assuming that the lack of consistency reflects only the size of the task, I've made a patch applying the fix to Boost.Random. Chipping away at the block...
But I think it makes much more sense if BOOST_WORKAROUND itself includes the patch, so that instead of its current definition # define BOOST_WORKAROUND(symbol, test) \ ((symbol != 0) && (1 % (( (symbol test) ) + 1))) it looks like # define BOOST_WORKAROUND(symbol, test) \ (defined(symbol) && (symbol != 0) && (1 % (( (symbol test) ) + 1))) Anyone sees some problem with this? Best, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
Hoping that this is useful, Angus
------------------------------------------------------------------------ Name: random.diff random.diff Type: text/x-diff Encoding: 8Bit
Name: trial.cpp trial.cpp Type: Archivo de código fuente de C++ (application/x-unknown-content-type-cppfile) Encoding: 8Bit
------------------------------------------------------------------------ _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost