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: Daniel C. Dillon <dan@…> 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.

#if GNUC < 4
(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

Change History (0)

Note: See TracTickets for help on using tickets.