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