Boost logo

Boost :

Subject: Re: [boost] [fusion] Compilation errors on Intel compiler (C++14)
From: Kohei Takahashi (flast_at_[hidden])
Date: 2016-12-08 11:26:44


Hi Andrey,

>>> I'm seeing compilation errors coming from Boost.Fusion headers on
>>> Sandia-intel-17.0-c++14:
>>>
>>> http://www.boost.org/development/tests/develop/developer/output/Sandia-intel-17-0-c++14-boost-bin-v2-libs-log-test-core-test-intel-linux-debug-threading-multi.html
>>>
>>>
>>> Notably, the same tests compile fine in C++11 mode on the same
>>> compiler, which makes me think that is related to C++14 mode
>>> specifically. Looking at the code, it seems the compiler makes
>>> constexpr functions implicitly const-qualified even though it
>>> shouldn't in C++14 mode, so it's likely a compiler bug. Still, is it
>>> possible to add a workaround?
I think the bug affects not only fusion, i.e. updating config is better.

>> Is it possible to override BOOST_CXX14_CONSTEXPR somehow?
>
> Only if you define and use your own similar macro in Boost.Fusion. Or
> if we decide that C++14 constexpr is broken enough in the compiler to
> warrant the change in Boost.Config. The compiler passes all
> Boost.Config tests[1] in C++14 mode, so I guess it supports C++14
> mostly ok.
>
> [1]: http://www.boost.org/development/tests/develop/developer/config.html
It seems the test is not enough about such case.
I opened a pull-request that updates config_test:
https://github.com/boostorg/config/pull/104 .

Thanks,
Kohei Takahashi




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