Subject: Re: [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 17:10:15
#10523: clang 3.4.2 (and greater) defines BOOST_NO_CXX11_SMART_PTR
-------------------------------------+-------------------------------------
Reporter: Daniel C. Dillon | Owner:
<dan@â¦> | Status: new
Type: Bugs | Component: None
Milestone: To Be Determined | Severity: Showstopper
Version: Boost 1.56.0 | Keywords: clang
Resolution: | BOOST_NO_CXX11_SMART_PTR
-------------------------------------+-------------------------------------
Description changed by viboes:
Old 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
New 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
}}}
-- -- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10523#comment:1> 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