On 21 September 2011 19:25, Joe Buck wrote:
> On Wed, Sep 21, 2011 at 11:07:07AM -0700, Jonathan Wakely wrote:
>> On 21 September 2011 19:00, Jonathan Wakely wrote:
>> > On 21 September 2011 18:51, Nathan Ridge wrote:
>> >>
>> >> Now that the C++11 standard has been officially voted in, there is nothing
>> >>  "experimental" about it any more.
>> >
>> > I thought the "experimental" refers to GCC's support, not the standard's 
>> > status.
>>
>> The page you linked to even makes that clear:
>>
>> "Important: because the ISO C++0x draft is still evolving, GCC's
>> support for C++0x is *experimental*. No attempt will be made to
>> maintain backward compatibility with implementations of C++0x features
>> that do not reflect the final C++0x standard."
>
> No, the page now claims something that is incorrect.  The C++0x draft is
> no longer evolving.  C++11 is an official standard now.

Yes, but that wasn't my point. The "experimental" never referred to
the status of C++0x/C++11, it referred to the support in GCC.  The
subject and original suggestion of this thread are based on the
premise that because C++11 is official something about GCC (except
documentation) has changed.

> It is still the case that the *GCC support for the standard* has to be
> considered experimental, which means that it's not yet possible to freeze
> the ABI and provide the same level of backward compatibility as is
> provided for C++98.

Exactly.

> Still, the page needs an update.

Sure, *all* our pages referring to C++0x need an update, and the
libstdc++ manual still refers to C++ 200x!

But let's not change the macro and break all the code that does:

#if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= someval

As James said, when it's no longer experimental the __cplusplus
macro's value will change (possible now that we *finally* set it
correctly for -std=c++98) and also the option to enable it should be
-std=c++11 / -std=gnu++11

Reply via email to