Subject: Re: [boost] [config] Variadic template macros in gcc header
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-11-24 09:31:07
On 11/24/2010 9:00 AM, Peter Dimov wrote:
> Edward Diener wrote:
>> On 11/22/2010 2:40 PM, Daniel James wrote:
>> > On 22 November 2010 14:33, Edward Diener<eldiener_at_[hidden]> >
>> >> Is this also the intention of Boost in general, that an empty
>> config.h >> means
>> >> a compiler that supports C++03 ?
>> > In general, an empty config.hpp means C++0x. That did seem to be the
>> > consensus decision, and I think everyone went into it understanding
>> > the consequences. It looks like the decision was made here (only the
>> > first few replies are relevant):
>> > http://thread.gmane.org/gmane.comp.lib.boost.devel/175638
>> In that case Peter Dimov's assumption seems wrong. He is saying that
>> he did not want you to make the changes because an empty config.h
>> should mean the C++ standard, aka C++03.
> No, I'm not saying that it _should_ mean C++03, I'm saying that it does
> mean C++03, and has meant C++03 for years.
Then you obviously disagree with what Daniel James says in his comment
above, that an empty config.h means C++0x and that seems to be the
> A previously valid (but
> admittedly rare) use case - using shared_ptr with an empty config.hpp -
> will be rendered invalid. This is not an assumption, it is a fact.
I am glad it is a fact. In which case the design of the BOOST_NO_ macros
which pertain to C++0x seems wrong to me, since an empty config.h would
not define any of those macros, thus implying that a compiler with an
empty config.h supports these C++0x features.