Subject: Re: [boost] [smart_ptr] error with nullptr_t
From: Michel Morin (mimomorin_at_[hidden])
Date: 2013-01-05 01:21:18
Peter Dimov wrote:
> Please see revision  on trunk. I'll appreciate it if someone using
> Clang with libstdc++ 4.2 tests it and reports whether it fixes the problem,
> or if not, what needs to be done.
A few comments:
* `defined(BOOST_CLANG)` would be safer than `defined(__clang__)`
after resolving #7359 ( https://svn.boost.org/trac/boost/ticket/7359 );
it seems that Intel compiler can define `__clang__`.
* If you want to use std::nullptr_t on clang with libstdc++ newer than 4.2,
you can use
defined(__GLIBCXX__) && !(__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)
instead of `!defined( _LIBCPP_VERSION )`.
I used this (ugly) version check to detect the availability of
clang's type-traits intrinsics in boost/type_traits/intrinsics.hpp.
But please note that when using with clang, Boost.Config does not recognize
the correct version of libstdc++ (#7473