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?
