Opened 6 years ago
Last modified 6 years ago
#12805 closed Support Requests
Build time config is not consistent with compile time config macros. — at Initial Version
Reported by: | Kohei Takahashi | Owned by: | John Maddock |
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
Some permissive compilers allow to use some of c++11 (or 14/1z/...) features as a extension: e.g. clang allows using of rvalue references in gnu++98 mode.
In that case, build time config (i.e. cxx11_rvalue_references) tells yes
but boost/config.hpp
defines BOOST_NO_CXX11_RVALUE_REFERENCES
and <utility>
doesn't define std::move
, std::forward
, and so on.
Thus, the regression tests that depending on macros will be issued and failure.
This is not only cland and rv-ref combination but also any other compiler and feature combinations: gcc allows lambda in gnu++98 mode but clang doesn't.
IMO, the build time config should be compliant compile time config than compiler error. Any thoughts?