Opened 6 years ago
Closed 6 years ago
#12805 closed Support Requests (fixed)
Build time config is not consistent with compile time config macros.
Reported by: | Kohei Takahashi | Owned by: | John Maddock |
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description (last modified by )
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 clang 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?
Change History (2)
comment:1 by , 6 years ago
Description: | modified (diff) |
---|
comment:2 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in develop so that build time config checks always reflect the current state of config.hpp. This also allows for the use of these checks with cross-compilers.