Opened 8 years ago

Closed 8 years ago

#10523 closed Bugs (duplicate)

clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR

Reported by: Daniel C. Dillon <dan@…> Owned by: John Maddock
Milestone: To Be Determined Component: config
Version: Boost 1.56.0 Severity: Showstopper
Keywords: clang BOOST_NO_CXX11_SMART_PTR Cc:

Description (last modified by viboes)

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 (3)

comment:1 by viboes, 8 years ago

Description: modified (diff)

comment:2 by viboes, 8 years ago

Component: Noneconfig
Owner: set to John Maddock

comment:3 by John Maddock, 8 years ago

Resolution: duplicate
Status: newclosed

This one keeps comming up - it's an intractable/unfixable issue - see https://svn.boost.org/trac/boost/ticket/7473

Note: See TracTickets for help on using tickets.