Fusion and constexpr, C++11 support entirely broken on develop
Hi folks, I recently decided to move all of my code to C++11, and I usually use the develop version of each library so that I can have the latest developments and can easily contribute. However, Fusion appears to be fundamentally broken on develop whenever C++11 is enabled with GCC. It works fine with C++03. I don't think this is a situation that should ever happen; while develop is for libraries undergoing development, it shouldn't be totally broken either. In particular, the problem is that it uses BOOST_CONSTEXPR in contexts where C++11-constexpr is invalid, but where it is valid in C++14. Should there be a separate BOOST_CONSTEXPR14 macro?
On 05/10/2014 07:44 p.m., Mathias Gaunard wrote:
Hi folks,
I recently decided to move all of my code to C++11, and I usually use the develop version of each library so that I can have the latest developments and can easily contribute.
However, Fusion appears to be fundamentally broken on develop whenever C++11 is enabled with GCC. It works fine with C++03.
I don't think this is a situation that should ever happen; while develop is for libraries undergoing development, it shouldn't be totally broken either.
In particular, the problem is that it uses BOOST_CONSTEXPR in contexts where C++11-constexpr is invalid, but where it is valid in C++14.
Should there be a separate BOOST_CONSTEXPR14 macro?
This is the motive for https://github.com/boostorg/config/pull/39 Regards, -- Agustín K-ballo Bergé.- http://talesofcpp.fusionfenix.com
On 06/10/14 01:19, Agustín K-ballo Bergé wrote:
On 05/10/2014 07:44 p.m., Mathias Gaunard wrote:
Hi folks,
I recently decided to move all of my code to C++11, and I usually use the develop version of each library so that I can have the latest developments and can easily contribute.
However, Fusion appears to be fundamentally broken on develop whenever C++11 is enabled with GCC. It works fine with C++03.
I don't think this is a situation that should ever happen; while develop is for libraries undergoing development, it shouldn't be totally broken either.
In particular, the problem is that it uses BOOST_CONSTEXPR in contexts where C++11-constexpr is invalid, but where it is valid in C++14.
Should there be a separate BOOST_CONSTEXPR14 macro?
This is the motive for https://github.com/boostorg/config/pull/39
I see. So the solution is BOOST_RELAXED_CONSTEXPR? What about when constexpr becomes even more relaxed?
Le 06/10/14 18:07, Mathias Gaunard a écrit :
On 06/10/14 01:19, Agustín K-ballo Bergé wrote:
On 05/10/2014 07:44 p.m., Mathias Gaunard wrote:
In particular, the problem is that it uses BOOST_CONSTEXPR in contexts where C++11-constexpr is invalid, but where it is valid in C++14.
Should there be a separate BOOST_CONSTEXPR14 macro?
This is the motive for https://github.com/boostorg/config/pull/39
I see. So the solution is BOOST_RELAXED_CONSTEXPR?
What about when constexpr becomes even more relaxed?
BOOST_MORE_RELAXED_CONSTEXPR ;-) Vicente
participants (3)
-
Agustín K-ballo Bergé
-
Mathias Gaunard
-
Vicente J. Botet Escriba