Opened 8 years ago
Last modified 8 years ago
#10523 closed Bugs
clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR — at Initial Version
Reported by: | Owned by: | ||
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost 1.56.0 | Severity: | Showstopper |
Keywords: | clang BOOST_NO_CXX11_SMART_PTR | Cc: |
Description
Due to the following code in boost/config/stdlib/libstdcpp3.hpp BOOST_NO_CXX11_SMART_PTR (among other things) is getting defined for clang 3.4.2 built with gcc-4.8.2 on CentOS 7. Apparently clang 3.4.2 defines GNUC as 4 and GNUC_MINOR as 2.
The net effect is that no get_pointer is defined for std::shared_ptr and boost::binds break down.
(GNUC == 4 && GNUC_MINOR < 4) | !defined(GXX_EXPERIMENTAL_CXX0X) |
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_SMART_PTR #else # define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG # define BOOST_HAS_TR1_COMPLEX_OVERLOADS #endif