Boost logo

Boost :

Subject: Re: [boost] [smart_ptr] error with nullptr_t
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2013-01-02 06:36:57


On Wed, Jan 2, 2013 at 9:49 AM, Peter Dimov <lists_at_[hidden]> wrote:
> Daniel James wrote:
>>
>> On 19 December 2012 04:47, Eric Niebler <eric_at_[hidden]> wrote:
>> > Regardless, (speaking as a release manager) I'd like to see this
>> > addressed one way or the other since it's a breaking change.
>>
>> What's the way forward?
>

Would there be a way to determine whether the user is using libstdc++
on the Mac from Boost.Config?

I distinctly remember that most standard Mac OS X installations come
with a frozen version of libstdc++ (GCC's 4.2) which has patches from
Apple. Apple's Clang I supports C++11 but only really works if you
link with libc++ (or maybe if you get an updated libstdc++ with
patches to work on OS X with clang). Being able to check the version
of libstdc++ being used should give you a better way of making this
determination.

>
> Assuming that we want to support this configuration, the options I see are
>
> - Config defining std::nullptr_t as it does with size_t;

I'm ambivalent about this FWIW.

> - Config defining BOOST_NO_NULLPTR_T, so that libraries can activate
> workarounds, or

This looks like the better situation.

> - SmartPtr fixing the problem somehow without Config involvement, which
> would entail detecting the problematic configuration in some way.
>

If the check for clang+libstdc++ can be localised in SmartPtr, this
would make sense but I think it's not going to be the only thing that
will run into this issue.

Just my A$0.05.

--
Dean Michael Berris
www.deanberris.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk