[Boost-bugs] [Boost C++ Libraries] #10523: clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR

Subject: [Boost-bugs] [Boost C++ Libraries] #10523: clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-09-22 12:09:38


#10523: clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR
-------------------------------------+-------------------------------------
 Reporter: Daniel C. Dillon | Type: Bugs
  <dan@…> | Milestone: To Be Determined
   Status: new | Version: Boost 1.56.0
Component: None | Keywords: clang
 Severity: Showstopper | BOOST_NO_CXX11_SMART_PTR
-------------------------------------+-------------------------------------
 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

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10523>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC