Boost logo

Boost :

Subject: Re: [boost] BOOST_NO_CXX11_ATOMIC?
From: Peter Dimov (lists_at_[hidden])
Date: 2013-12-03 08:30:43


Rob Stewart wrote:
> On Dec 1, 2013, at 8:06 AM, "Peter Dimov" <lists_at_[hidden]> wrote:
>
> > Rob Stewart wrote:
> >> Add feature macros and test for them. The macros can be defined when
> >> the header is fully supported or for particular compilers.
> >
> > If you're agreeing with Beman that BOOST_NO_CXX11_HDR_ATOMIC should not
> > be defined when <atomic> is not 100% conforming, then I disagree.
>
> I replied, in another message, that Peter and Beman made opposite
> statements. Peter then claimed, in reply to me, that they did not
> disagree. I can't read the quote above any other way, so I'm confused.

Beman says that we often define a header macro which says that the header
doesn't exist when the header exists, but is incomplete. This is correct.

You then - apparently - suggested that we do that (pretend that the header
doesn't exist), but in addition, supply other macros that signify that the
header exists and provides some feature. I disagree that we should do that.
(I say apparently because I wasn't sure that you did, hence my "if"
qualifier above.)

I think that in such a situation we should provide the feature macros,
without a header macro. Any positive claim that a feature X exists and works
implies the existence of the header. The header macro is - in this case -
redundant.


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