
On 1/20/2015 12:43 PM, John Maddock wrote:
1) boost::integral_constant is no longer a model of mpl's integral_constant: http://www.boost.org/doc/libs/1_57_0/libs/mpl/doc/refmanual/integral-constan...
As a result all of function_types lib is broken. I guess one could argue that if you want to do arithmetic on integral_constant's then one should use MPL all the way through. But it's a big breaking change.
Never mind, this one is fixed now, function_types tests should all now work.
The function_types test look good with gcc, clang, and msvc on Windows. I am seeing this with type_traits Version2 compiling gcc or clang on Windows : // test_has_data_compile.cpp ( reduced from TTI test to show problem ) #include <boost/config.hpp> #include <boost/type_traits/remove_const.hpp> int main() { return 0; } "C:/Programming/VersionControl/bninja_installed_clang/bin/clang++.exe" -c -x c++ -O0 -g -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -I"..\..\.." -o "..\..\..\bin.v2\libs\tti\test\test_has_data_compile.test\clang-linux-3.7.0\debug\test_has_data_compile.obj" "test_has_data_compile.cpp" In file included from test_has_data_compile.cpp:2: ..\..\..\boost/type_traits/remove_const.hpp:25:22: error: token is not a valid binary operator in a preprocessor subexpression #if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) ~~~~~~~~~~~~~~~~~^ 1 error generated. The error does not occur with VC++ on Windows.