Boost logo

Boost :

Subject: Re: [boost] [type_traits] Rewrite and dependency free version
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-01-20 18:27:01


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-constant.html
>>
>>
>>
>> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk