From patchwork Sun Nov 6 18:48:04 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 123956 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id A5A57B6F77 for ; Mon, 7 Nov 2011 05:48:49 +1100 (EST) Received: (qmail 8266 invoked by alias); 6 Nov 2011 18:48:43 -0000 Received: (qmail 8217 invoked by uid 22791); 6 Nov 2011 18:48:31 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL, BAYES_50, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, TW_GT X-Spam-Check-By: sourceware.org Received: from mail-gx0-f175.google.com (HELO mail-gx0-f175.google.com) (209.85.161.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 06 Nov 2011 18:48:05 +0000 Received: by ggnp1 with SMTP id p1so1886800ggn.20 for ; Sun, 06 Nov 2011 10:48:04 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.17.34 with SMTP id l2mr6365687obd.2.1320605284289; Sun, 06 Nov 2011 10:48:04 -0800 (PST) Received: by 10.182.34.234 with HTTP; Sun, 6 Nov 2011 10:48:04 -0800 (PST) Date: Sun, 6 Nov 2011 18:48:04 +0000 Message-ID: Subject: [v3] replace references to C++0x with C++11 in documentation From: Jonathan Wakely To: "libstdc++" , gcc-patches Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org * doc/xml/faq.xml: Replace references to C++0x with C++11. * doc/xml/manual/intro.xml: Likewise. * doc/xml/manual/backwards_compatibility.xml: Likewise. * doc/xml/manual/shared_ptr.xml: Likewise. * doc/xml/manual/configure.xml: Likewise. * doc/xml/manual/evolution.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/xml/manual/strings.xml: Likewise. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/policy_data_structures.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/diagnostics.xml: Likewise. * doc/xml/manual/test.xml: Likewise. * doc/xml/manual/status_cxx200x.xml: Likewise, and rename to... * doc/xml/manual/status_cxx2011.xml: Here. * doc/Makefile.am: Rename status_cxx200x.xml. * doc/Makefile.in: Regenerate. * doc/html/*: Regenerate. Tested with 'make doc-xml-validate-docbook' and HTML pages regenerated with 'make doc-html' Index: doc/xml/faq.xml =================================================================== --- doc/xml/faq.xml (revision 181022) +++ doc/xml/faq.xml (working copy) @@ -694,7 +694,7 @@ Long answer: See the implementation status pages for C++98, TR1, and - C++0x. + C++11. Index: doc/xml/manual/backwards_compatibility.xml =================================================================== --- doc/xml/manual/backwards_compatibility.xml (revision 181022) +++ doc/xml/manual/backwards_compatibility.xml (working copy) @@ -693,14 +693,16 @@ other usage is correct. At this time most of the features of the SGI STL extension have been replaced by standardized libraries. - In particular, the unordered_map and unordered_set containers of TR1 - are suitable replacement for the non-standard hash_map and hash_set + In particular, the unordered_map and + unordered_set containers of TR1 and C++ 2011 + are suitable replacements for the non-standard + hash_map and hash_set containers in the SGI STL. Header files hash_map and hash_set moved to ext/hash_map and ext/hash_set, respectively. At the same time, all types in these files are enclosed -in namespace __gnu_cxx. Later versions move deprecate +in namespace __gnu_cxx. Later versions deprecate these files, and suggest using TR1's unordered_map and unordered_set instead. @@ -832,7 +834,7 @@ No stream::attach(int fd) -
+<section xml:id="backwards.support_cxx98"><info><title> Support for C++98 dialect. @@ -908,7 +910,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
-
+<section xml:id="backwards.support_tr1"><info><title> Support for C++TR1 dialect. @@ -1000,19 +1002,19 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET],
-
-Support for C++0x dialect. +<section xml:id="backwards.support_cxx11"><info><title> +Support for C++11 dialect. -Check for baseline language coverage in the compiler for the C++0xstandard. +Check for baseline language coverage in the compiler for the C++11 standard. -# AC_COMPILE_STDCXX_OX -AC_DEFUN([AC_COMPILE_STDCXX_0X], [ - AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, - ac_cv_cxx_compile_cxx0x_native, +# AC_COMPILE_STDCXX_11 +AC_DEFUN([AC_COMPILE_STDCXX_11], [ + AC_CACHE_CHECK(if g++ supports C++11 features without additional flags, + ac_cv_cxx_compile_cxx11_native, [AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ @@ -1030,16 +1032,16 @@ AC_DEFUN([AC_COMPILE_STDCXX_0X], [ typedef check<int> check_type; check_type c; check_type&& cr = c;],, - ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no) + ac_cv_cxx_compile_cxx11_native=yes, ac_cv_cxx_compile_cxx11_native=no) AC_LANG_RESTORE ]) - AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, - ac_cv_cxx_compile_cxx0x_cxx, + AC_CACHE_CHECK(if g++ supports C++11 features with -std=c++11, + ac_cv_cxx_compile_cxx11_cxx, [AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=c++0x" + CXXFLAGS="$CXXFLAGS -std=c++11" AC_TRY_COMPILE([ template <typename T> struct check @@ -1055,17 +1057,17 @@ AC_DEFUN([AC_COMPILE_STDCXX_0X], [ typedef check<int> check_type; check_type c; check_type&& cr = c;],, - ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no) + ac_cv_cxx_compile_cxx11_cxx=yes, ac_cv_cxx_compile_cxx11_cxx=no) CXXFLAGS="$ac_save_CXXFLAGS" AC_LANG_RESTORE ]) - AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, - ac_cv_cxx_compile_cxx0x_gxx, + AC_CACHE_CHECK(if g++ supports C++11 features with -std=gnu++11, + ac_cv_cxx_compile_cxx11_gxx, [AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=gnu++0x" + CXXFLAGS="$CXXFLAGS -std=gnu++11" AC_TRY_COMPILE([ template <typename T> struct check @@ -1081,33 +1083,33 @@ AC_DEFUN([AC_COMPILE_STDCXX_0X], [ typedef check<int> check_type; check_type c; check_type&& cr = c;],, - ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no) + ac_cv_cxx_compile_cxx11_gxx=yes, ac_cv_cxx_compile_cxx11_gxx=no) CXXFLAGS="$ac_save_CXXFLAGS" AC_LANG_RESTORE ]) - if test "$ac_cv_cxx_compile_cxx0x_native" = yes || - test "$ac_cv_cxx_compile_cxx0x_cxx" = yes || - test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then - AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) + if test "$ac_cv_cxx_compile_cxx11_native" = yes || + test "$ac_cv_cxx_compile_cxx11_cxx" = yes || + test "$ac_cv_cxx_compile_cxx11_gxx" = yes; then + AC_DEFINE(HAVE_STDCXX_11,,[Define if g++ supports C++11 features. ]) fi ]) -Check for library coverage of the C++0xstandard. +Check for library coverage of the C++2011 standard. -# AC_HEADER_STDCXX_0X -AC_DEFUN([AC_HEADER_STDCXX_0X], [ - AC_CACHE_CHECK(for ISO C++ 0x include files, - ac_cv_cxx_stdcxx_0x, - [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) +# AC_HEADER_STDCXX_11 +AC_DEFUN([AC_HEADER_STDCXX_11], [ + AC_CACHE_CHECK(for ISO C++11 include files, + ac_cv_cxx_stdcxx_11, + [AC_REQUIRE([AC_COMPILE_STDCXX_11]) AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=gnu++0x" + CXXFLAGS="$CXXFLAGS -std=gnu++11" AC_TRY_COMPILE([ #include <cassert> @@ -1175,12 +1177,12 @@ AC_DEFUN([AC_HEADER_STDCXX_0X], [ #include <valarray> #include <vector> ],, - ac_cv_cxx_stdcxx_0x=yes, ac_cv_cxx_stdcxx_0x=no) + ac_cv_cxx_stdcxx_11=yes, ac_cv_cxx_stdcxx_11=no) AC_LANG_RESTORE CXXFLAGS="$ac_save_CXXFLAGS" ]) - if test "$ac_cv_cxx_stdcxx_0x" = yes; then - AC_DEFINE(STDCXX_0X_HEADERS,,[Define if ISO C++ 0x header files are present. ]) + if test "$ac_cv_cxx_stdcxx_11" = yes; then + AC_DEFINE(STDCXX_11_HEADERS,,[Define if ISO C++11 header files are present. ]) fi ]) @@ -1193,11 +1195,11 @@ AC_DEFUN([AC_HEADER_STDCXX_0X], [ AC_DEFUN([AC_HEADER_UNORDERED_MAP], [ AC_CACHE_CHECK(for unordered_map, ac_cv_cxx_unordered_map, - [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) + [AC_REQUIRE([AC_COMPILE_STDCXX_11]) AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=gnu++0x" + CXXFLAGS="$CXXFLAGS -std=gnu++11" AC_TRY_COMPILE([#include <unordered_map>], [using std::unordered_map;], ac_cv_cxx_unordered_map=yes, ac_cv_cxx_unordered_map=no) CXXFLAGS="$ac_save_CXXFLAGS" @@ -1214,11 +1216,11 @@ AC_DEFUN([AC_HEADER_UNORDERED_MAP], [ AC_DEFUN([AC_HEADER_UNORDERED_SET], [ AC_CACHE_CHECK(for unordered_set, ac_cv_cxx_unordered_set, - [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) + [AC_REQUIRE([AC_COMPILE_STDCXX_11]) AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=gnu++0x" + CXXFLAGS="$CXXFLAGS -std=gnu++11" AC_TRY_COMPILE([#include <unordered_set>], [using std::unordered_set;], ac_cv_cxx_unordered_set=yes, ac_cv_cxx_unordered_set=no) CXXFLAGS="$ac_save_CXXFLAGS" @@ -1229,6 +1231,17 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [ fi ]) + + + Some C++11 features first appeared in GCC 4.3 and could be enabled by + and for GCC + releases which pre-date the 2011 standard. Those C++11 features and GCC's + support for them were still changing until the 2011 standard was finished, + but the autoconf checks above could be extended to test for incomplete + C++11 support with and + . + +
@@ -1237,7 +1250,7 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [ <para> - This is a change in behavior from the previous version. Now, most + This is a change in behavior from older versions. Now, most <type>iterator_type</type> typedefs in container classes are POD objects, not <type>value_type</type> pointers. </para> Index: doc/xml/manual/intro.xml =================================================================== --- doc/xml/manual/intro.xml (revision 181022) +++ doc/xml/manual/intro.xml (working copy) @@ -29,8 +29,8 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx1998.xml"> </xi:include> - <!-- Section 01.2 : Status C++ 200x --> - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx200x.xml"> + <!-- Section 01.2 : Status C++ 2011 --> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2011.xml"> </xi:include> <!-- Section 01.3 : Status C++ TR1 --> @@ -577,7 +577,7 @@ requirements of the license of GCC. <emphasis>std::complex over-encapsulated</emphasis> </term> <listitem><para>Add the <code>real(T)</code> and <code>imag(T)</code> - members; in C++0x mode, also adjust the existing + members; in C++11 mode, also adjust the existing <code>real()</code> and <code>imag()</code> members and free functions. </para></listitem></varlistentry> @@ -709,7 +709,7 @@ requirements of the license of GCC. <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#550">550</link>: <emphasis>What should the return type of pow(float,int) be?</emphasis> </term> - <listitem><para>In C++0x mode, remove the pow(float,int), etc., signatures. + <listitem><para>In C++11 mode, remove the pow(float,int), etc., signatures. </para></listitem></varlistentry> <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#586">586</link>: @@ -739,7 +739,7 @@ requirements of the license of GCC. <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#691">691</link>: <emphasis>const_local_iterator cbegin, cend missing from TR1</emphasis> </term> - <listitem><para>In C++0x mode add cbegin(size_type) and cend(size_type) + <listitem><para>In C++11 mode add cbegin(size_type) and cend(size_type) to the unordered containers. </para></listitem></varlistentry> @@ -764,7 +764,7 @@ requirements of the license of GCC. <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#761">761</link>: <emphasis>unordered_map needs an at() member function</emphasis> </term> - <listitem><para>In C++0x mode, add at() and at() const. + <listitem><para>In C++11 mode, add at() and at() const. </para></listitem></varlistentry> <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#775">775</link>: @@ -776,13 +776,13 @@ requirements of the license of GCC. <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#776">776</link>: <emphasis>Undescribed assign function of std::array</emphasis> </term> - <listitem><para>In C++0x mode, remove assign, add fill. + <listitem><para>In C++11 mode, remove assign, add fill. </para></listitem></varlistentry> <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#781">781</link>: <emphasis>std::complex should add missing C99 functions</emphasis> </term> - <listitem><para>In C++0x mode, add std::proj. + <listitem><para>In C++11 mode, add std::proj. </para></listitem></varlistentry> <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#809">809</link>: @@ -794,7 +794,7 @@ requirements of the license of GCC. <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#844">844</link>: <emphasis>complex pow return type is ambiguous</emphasis> </term> - <listitem><para>In C++0x mode, remove the pow(complex<T>, int) signature. + <listitem><para>In C++11 mode, remove the pow(complex<T>, int) signature. </para></listitem></varlistentry> <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#853">853</link>: Index: doc/xml/manual/shared_ptr.xml =================================================================== --- doc/xml/manual/shared_ptr.xml (revision 181022) +++ doc/xml/manual/shared_ptr.xml (working copy) @@ -33,14 +33,6 @@ and implements shared ownership semantic </para> <para> - At the time of writing the C++0x working paper doesn't mention how - threads affect shared_ptr, but it is likely to follow the existing - practice set by <classname>boost::shared_ptr</classname>. The - shared_ptr in libstdc++ is derived from Boost's, so the same rules - apply. - </para> - - <para> </para> </section> @@ -163,10 +155,10 @@ that simplifies the implementation sligh <para> -C++0x-only features are: rvalue-ref/move support, allocator support, +C++11-only features are: rvalue-ref/move support, allocator support, aliasing constructor, make_shared & allocate_shared. Additionally, the constructors taking <classname>auto_ptr</classname> parameters are -deprecated in C++0x mode. +deprecated in C++11 mode. </para> <para> @@ -293,20 +285,20 @@ used when libstdc++ is built without <li </para> </section> - <section><info><title>Dual C++0x and TR1 Implementation +
Dual C++11 and TR1 Implementation -The interface of tr1::shared_ptr was extended for C++0x +The interface of tr1::shared_ptr was extended for C++11 with support for rvalue-references and the other features from N2351. The _Sp_counted_base base class is implemented in tr1/boost_sp_shared_count.h and is common to the TR1 -and C++0x versions of shared_ptr. +and C++11 versions of shared_ptr. The classes derived from _Sp_counted_base (see Class Hierarchy -above) and __shared_count are implemented separately for C++0x +above) and __shared_count are implemented separately for C++11 and TR1, in bits/shared_ptr.h and tr1/shared_ptr.h respectively. @@ -314,9 +306,9 @@ and TR1, in bits/shared_ptr.h< The TR1 implementation is considered relatively stable, so is unlikely to change unless bug fixes require it. If the code that is common to both -C++0x and TR1 modes needs to diverge further then it might be necessary to +C++11 and TR1 versions needs to diverge further then it might be necessary to duplicate _Sp_counted_base and only make changes to -the C++0x version. +the C++11 version.
@@ -332,9 +324,9 @@ the C++0x version. As noted in N2351, these functions can be implemented non-intrusively using the alias constructor. However the aliasing constructor is only available -in C++0x mode, so in TR1 mode these casts rely on three non-standard +in C++11 mode, so in TR1 mode these casts rely on three non-standard constructors in shared_ptr and __shared_ptr. -In C++0x mode these constructors and the related tag types are not needed. +In C++11 mode these constructors and the related tag types are not needed. @@ -431,7 +423,7 @@ the following types, depending on how th The shared_ptr atomic access - clause in the C++0x working draft is not implemented in GCC. + clause in the C++11 standard is not implemented in GCC. @@ -445,7 +437,7 @@ the following types, depending on how th Unlike Boost, this implementation does not use separate classes for the pointer+deleter and pointer+deleter+allocator cases in - C++0x mode, combining both into _Sp_counted_deleter and using + C++11 mode, combining both into _Sp_counted_deleter and using allocator when the user doesn't specify an allocator. If it was found to be beneficial an additional class could easily be added. With the current implementation, Index: doc/xml/manual/status_cxx2011.xml =================================================================== --- doc/xml/manual/status_cxx2011.xml (revision 181022) +++ doc/xml/manual/status_cxx2011.xml (working copy) @@ -1,14 +1,14 @@
- + xml:id="status.iso.2011" xreflabel="Status C++ 2011"> + -C++ 200x +C++ 2011 ISO C++ - 200x + 2011 @@ -20,8 +20,8 @@ Final Draft International Standard, Stan -In this implementation -std=gnu++0x or --std=c++0x flags must be used to enable language +In this implementation -std=gnu++11 or +-std=c++11 flags must be used to enable language and library features. See dialect options. The pre-defined symbol @@ -30,7 +30,7 @@ presence of the required flag. -This page describes the C++0x support in mainline GCC SVN, not in any +This page describes the C++11 support in mainline GCC SVN, not in any particular release. @@ -44,7 +44,7 @@ particular release. --> -C++ 200x Implementation Status +C++ 2011 Implementation Status Index: doc/xml/manual/configure.xml =================================================================== --- doc/xml/manual/configure.xml (revision 181022) +++ doc/xml/manual/configure.xml (working copy) @@ -172,7 +172,7 @@ Enables link-type checks for the availability of the clock_gettime clocks, used in the implementation of [time.clock], and of the nanosleep and sched_yield functions, used in the - implementation of [thread.thread.this] of the current C++0x draft. + implementation of [thread.thread.this] of the 2011 ISO C++ standard. The choice OPTION=yes checks for the availability of the facilities in libc and libposix4. In case of need the latter is also linked to libstdc++ as part of the build process. OPTION=rt also searches Index: doc/xml/manual/evolution.xml =================================================================== --- doc/xml/manual/evolution.xml (revision 181022) +++ doc/xml/manual/evolution.xml (working copy) @@ -399,7 +399,7 @@ Backward include edit. - Added in C++0x + Added in C++11 auto_ptr.h and binders.h Index: doc/xml/manual/using.xml =================================================================== --- doc/xml/manual/using.xml (revision 181022) +++ doc/xml/manual/using.xml (working copy) @@ -8,7 +8,7 @@ The set of features available in the GNU C++ library is shaped by - several GCC + several GCC Command Options. Options that impact libstdc++ are enumerated and detailed in the table below. @@ -43,12 +43,12 @@ - -std=c++0x - Use the working draft of the upcoming ISO C++0x standard. + -std=c++11 + Use the 2011 ISO C++ standard. - -std=gnu++0x + -std=gnu++11 As directly above, with GNU extensions. @@ -64,7 +64,7 @@ -pthread or -pthreads - For ISO C++0x <thread>, <future>, + For ISO C++11 <thread>, <future>, <mutex>, or <condition_variable>. @@ -108,8 +108,7 @@ Two dialects of standard headers are supported, corresponding to - the 1998 standard as updated for 2003, and the draft of the - upcoming 200x standard. + the 1998 standard as updated for 2003, and the current 2011 standard. @@ -218,13 +217,13 @@
-C++0x include files. These are only available in C++0x compilation -mode, i.e. -std=c++0x or -std=gnu++0x. +C++11 include files. These are only available in C++11 compilation +mode, i.e. -std=c++11 or -std=gnu++11. -C++ 200x Library Headers +C++ 2011 Library Headers @@ -310,7 +309,7 @@ mode, i.e. -std=c++0x
-C++ 200x Library Headers for C Library Facilities +C++ 2011 Library Headers for C Library Facilities @@ -632,22 +631,22 @@ possible. It's an all-or-nothing affair. #include <functional> -Implies C++0x mode. To use the entities in <array>, the C++0x -compilation mode must be used, which implies the C++0x functionality +Implies C++11 mode. To use the entities in <array>, the C++11 +compilation mode must be used, which implies the C++11 functionality (and deprecations) in <functional> will be present. Second, the other headers can be included with either dialect of -the standard headers, although features and types specific to C++0x -are still only enabled when in C++0x compilation mode. So, to use +the standard headers, although features and types specific to C++11 +are still only enabled when in C++11 compilation mode. So, to use rvalue references with __gnu_cxx::vstring, or to use the debug-mode versions of std::unordered_map, one must use -the std=gnu++0x compiler flag. (Or std=c++0x, of course.) +the std=gnu++11 compiler flag. (Or std=c++11, of course.) -A special case of the second rule is the mixing of TR1 and C++0x +A special case of the second rule is the mixing of TR1 and C++11 facilities. It is possible (although not especially prudent) to -include both the TR1 version and the C++0x version of header in the +include both the TR1 version and the C++11 version of header in the same translation unit: @@ -656,7 +655,7 @@ same translation unit: #include <type_traits> - Several parts of C++0x diverge quite substantially from TR1 predecessors. + Several parts of C++11 diverge quite substantially from TR1 predecessors. @@ -841,7 +840,7 @@ g++ -Winvalid-pch -I. -include stdc++.h removes older ARM-style iostreams code, and other anachronisms from the API. This macro is dependent on the version of the standard being tracked, and as a result may give different results for - -std=c++98 and -std=c++0x. This may + -std=c++98 and -std=c++11. This may be useful in updating old C++ code which no longer meet the requirements of the language, or for checking current code against new language standards. @@ -1093,7 +1092,7 @@ namespace gtk In the - C++0x dialect add + C++11 dialect add Index: doc/xml/manual/strings.xml =================================================================== --- doc/xml/manual/strings.xml (revision 181022) +++ doc/xml/manual/strings.xml (working copy) @@ -359,7 +359,7 @@ stringtok(Container &container, stri entry) but the regular copy constructor cannot be used because libstdc++'s string is Copy-On-Write. - In C++0x mode you can call + In C++11 mode you can call s.shrink_to_fit() to achieve the same effect as s.reserve(s.size()). Index: doc/xml/manual/debug_mode.xml =================================================================== --- doc/xml/manual/debug_mode.xml (revision 181022) +++ doc/xml/manual/debug_mode.xml (working copy) @@ -267,12 +267,12 @@ which always works correctly.
-In addition, when compiling in C++0x mode, these additional +In addition, when compiling in C++11 mode, these additional containers have additional debug capability. -Debugging Containers C++0x +Debugging Containers C++11 @@ -588,7 +588,7 @@ template<typename _Tp, typename _Allo Achieving link- and run-time coexistence is not a trivial implementation task. To achieve this goal we required a small - extension to the GNU C++ compiler (since incorporated into the C++0x language specification, described in the GCC Manual for the C++ language as + extension to the GNU C++ compiler (since incorporated into the C++11 language specification, described in the GCC Manual for the C++ language as namespace association), and a complex organization of debug- and release-modes. The end result is that we have achieved per-use @@ -630,7 +630,7 @@ namespace std defined in the namespace __cxx1998) and also the debug-mode container. The debug-mode container is defined within the namespace __debug, which is associated with namespace -std via the C++0x namespace association language feature. This +std via the C++11 namespace association language feature. This method allows the debug and release versions of the same component to coexist at compile-time and link-time without causing an unreasonable maintenance burden, while minimizing confusion. Again, this boils down Index: doc/xml/manual/policy_data_structures.xml =================================================================== --- doc/xml/manual/policy_data_structures.xml (revision 181022) +++ doc/xml/manual/policy_data_structures.xml (working copy) @@ -1365,7 +1365,7 @@ __gnu_pbds::cc_hash_table instead of std::unordered_map, since unordered map does not necessarily mean a hash-based map as implied by - the C++ library (C++0x or TR1). For example, list-based associative + the C++ library (C++11 or TR1). For example, list-based associative containers, which are very useful for the construction of "multimaps," are also unordered. Index: doc/xml/manual/extensions.xml =================================================================== --- doc/xml/manual/extensions.xml (revision 181022) +++ doc/xml/manual/extensions.xml (working copy) @@ -201,7 +201,7 @@ extensions, be aware of two things: The SGI hashing classes hash_set and hash_set have been deprecated by the unordered_set, unordered_multiset, unordered_map, - unordered_multimap containers in TR1 and the upcoming C++0x, and + unordered_multimap containers in TR1 and C++11, and may be removed in future releases. Index: doc/xml/manual/diagnostics.xml =================================================================== --- doc/xml/manual/diagnostics.xml (revision 181022) +++ doc/xml/manual/diagnostics.xml (working copy) @@ -117,7 +117,7 @@ Please note that the checks are based on the requirements in the original - C++ standard, some of which have changed in the upcoming C++0x revision. + C++ standard, some of which have changed in the new C++11 revision. Additionally, some correct code might be rejected by the concept checks, for example template argument types may need to be complete when used in a template definition, rather than at the point of instantiation. Index: doc/xml/manual/status_cxx200x.xml =================================================================== --- doc/xml/manual/status_cxx200x.xml (revision 181022) +++ doc/xml/manual/status_cxx200x.xml (working copy) @@ -1,2621 +0,0 @@ -
- - -C++ 200x - - - ISO C++ - - - 200x - - - - - -This table is based on the table of contents of ISO/IEC -JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 -Final Draft International Standard, Standard for Programming Language C++ - - - -In this implementation -std=gnu++0x or --std=c++0x flags must be used to enable language -and library -features. See dialect -options. The pre-defined symbol -__GXX_EXPERIMENTAL_CXX0X__ is used to check for the -presence of the required flag. - - - -This page describes the C++0x support in mainline GCC SVN, not in any -particular release. - - - - -
-C++ 200x Implementation Status - - - - - - - - - Section - Description - Status - Comments - - - - - - - - 18 - - - Language support - - - - - 18.1 - General - Y - - - - - 18.2 - Types - Partial - Missing offsetof, max_align_t - - - 18.3 - Implementation properties - - - - - - 18.3.2 - Numeric Limits - - - - - 18.3.2.3 - Class template numeric_limits - Y - - - - 18.3.2.4 - numeric_limits members - Y - - - - - 18.3.2.5 - float_round_style - N - - - - - 18.3.2.6 - float_denorm_style - N - - - - 18.3.2.7 - numeric_limits specializations - Y - - - - - 18.3.3 - C Library - Y - - - - - 18.4 - Integer types - - - - - 18.4.1 - Header <cstdint> synopsis - Y - - - - - 18.5 - Start and termination - Partial - C library dependency for quick_exit, at_quick_exit - - - 18.6 - Dynamic memory management - Y - - - - 18.7 - Type identification - - - - - 18.7.1 - Class type_info - Y - - - - 18.7.2 - Class bad_cast - Y - - - - 18.7.3 - Class bad_typeid - Y - - - - 18.8 - Exception handling - - - - - 18.8.1 - Class exception - Y - - - - 18.8.2 - Class bad_exception - Y - - - - 18.8.3 - Abnormal termination - Y - - - - 18.8.4 - uncaught_exception - Y - - - - 18.8.5 - Exception Propagation - Y - - - - 18.8.6 - nested_exception - Y - - - - 18.9 - Initializer lists - - - - - 18.9.1 - Initializer list constructors - Y - - - - 18.9.2 - Initializer list access - Y - - - - 18.9.3 - Initializer list range access - Y - - - - 18.10 - Other runtime support - Y - - - - - 19 - - - Diagnostics - - - - 19.1 - General - Y - - - - 19.2 - Exception classes - Y - - - - 19.3 - Assertions - Y - - - - 19.4 - Error numbers - Y - - - - 19.5 - System error support - - - - - 19.5.1 - Class error_category - Y - - - - 19.5.2 - Class error_code - Y - - - - 19.5.3 - Class error_condition - Y - - - - 19.5.4 - Comparison operators - Y - - - - 19.5.5 - Class system_error - Y - - - - - 20 - - - General utilities - - - - 20.1 - General - - - - - 20.2 - Utility components - - - - - 20.2.1 - Operators - Y - - - - 20.2.2 - Swap - Y - - - - 20.2.3 - forward and move helpers - Y - - - - 20.2.4 - Function template declval - Y - - - - 20.3 - Pairs - - - - - 20.3.1 - In general - - - - - 20.3.2 - Class template pair - Y - - - - 20.3.3 - Specialized algorithms - Y - - - - 20.3.4 - Tuple-like access to pair - Y - - - - 20.3.5 - Piecewise construction - Y - - - - 20.4 - Tuples - - - - - 20.4.1 - In general - - - - - 20.4.2 - Class template tuple - - - - - 20.4.2.1 - Construction - Y - - - - 20.4.2.2 - Assignment - Y - - - - 20.4.2.3 - Swap - Y - - - - 20.4.2.4 - Tuple creation functions - Y - - - - 20.4.2.5 - Tuple helper classes - Y - - - - 20.4.2.6 - Element access - Y - - - - 20.4.2.7 - Relational operators - Y - - - - 20.4.2.8 - Tuple traits - Y - - - - 20.4.2.9 - Tuple specialized algorithms - Y - - - - 20.5 - Class template bitset - Y - - - - 20.5.1 - bitset constructors - Y - - - - 20.5.2 - bitset members - Y - - - - 20.5.3 - bitset hash support - Y - - - - 20.5.4 - bitset operators - Y - - - - 20.6 - Memory - - - - - 20.6.1 - In general - - - - - 20.6.2 - Header <memory> synopsis - - - - - - 20.6.3 - Pointer traits - Partial - Missing rebind - - - - 20.6.4 - Pointer safety - Partial - - - - - 20.6.5 - Align - N - - - - 20.6.6 - Allocator argument tag - Y - - - - 20.6.7 - uses_allocator - Y - - - - - 20.6.8 - Allocator traits - Partial - Missing rebind_alloc and rebind_traits - - - 20.6.9 - The default allocator - Y - - - - 20.6.10 - Raw storage iterator - Y - - - - 20.6.11 - Temporary buffers - Y - - - - 20.6.12 - Specialized algorithms - - - - - 20.6.12.1 - addressof - Y - - - - 20.6.12.2 - uninitialized_copy - Y - - - - 20.6.12.3 - uninitialized_fill - Y - - - - 20.6.12.4 - uninitialized_fill_n - Y - - - - 20.6.13 - C library - Y - - - - 20.7 - Smart pointers - - - - - 20.7.1 - Class template unique_ptr - Y - - - - 20.7.2 - Shared-ownership pointers - Y - - - - 20.7.2.1 - Class bad_weak_ptr - Y - - - - 20.7.2.2 - Class template shared_ptr - Y - - - Uses code from - boost::shared_ptr. - - - - - 20.7.2.3 - Class template weak_ptr - Y - - - - 20.7.2.4 - Class template emable_shared_from_this - Y - - - - - 20.7.2.5 - shared_ptr atomic access - Partial - - - - 20.7.2.6 - Smart pointer hash support - Y - - - - 20.8 - Function objects - - - - - 20.8.1 - Definitions - - - - - 20.8.2 - Requirements - - - - - 20.8.3 - Class template reference_wrapper - Y - - - - 20.8.4 - Arithmetic operation - Y - - - - 20.8.5 - Comparisons - Y - - - - 20.8.6 - Logical operations - Y - - - - 20.8.7 - Bitwise operations - Y - - - - 20.8.8 - Negators - Y - - - - 20.8.9 - Function template bind - Y - - - - - 20.8.10 - Function template mem_fn - Partial - Missing overloads for reference-qualified member functions - - - 20.8.11 - Polymorphic function wrappers - - - - - 20.8.11.1 - Class bad_function_call - Y - - - - - 20.8.11.2 - Class template function - Partial - Missing allocator support - - - 20.8.12 - Class template hash - Y - - - - 20.9 - Metaprogramming and type traits - - - - - 20.9.1 - Requirements - Y - - - - 20.9.2 - Header <type_traits> synopsis - - - - - 20.9.3 - Helper classes - Y - - - - 20.9.4 - Unary Type Traits - Y - - - - 20.9.4.1 - Primary type categories - Y - - - - 20.9.4.2 - Composite type traits - Y - - - - - 20.9.4.3 - Type properties - Partial - Missing is_trivially_copyable, - is_assignable, is_copy_assignable, is_move_assignable, - is_trivially_constructible, is_trivially_default_constructible, - is_trivially_copy_constructible, is_trivially_move_constructible, - is_trivially_assignable, is_trivially_default_assignable, - is_trivially_copy_assignable, is_trivially_move_assignable, - is_trivially_destructible, - is_nothrow_assignable, - is_nothrow_copy_assignable, is_nothrow_move_assignable, - is_nothrow_destructible - - - - 20.9.5 - Type property queries - Y - - - - 20.9.6 - Relationships between types - Y - - - - 20.9.7 - Transformations between types - - - - - 20.9.7.1 - Const-volatile modifications - Y - - - - 20.9.7.2 - Reference modifications - Y - - - - 20.9.7.3 - Sign modifications - Y - - - - 20.9.7.4 - Array modifications - Y - - - - 20.9.7.5 - Pointer modifications - Y - - - - 20.9.7.6 - Other transformations - Y - - - - 20.10 - Compile-time rational arithmetic - - - - - 20.10.1 - In general - - - - - 20.10.2 - Header <ratio> synopsis - - - - - 20.10.3 - Class template ratio - Y - - - - 20.10.4 - Arithmetic on ratios - Y - - - - 20.10.5 - Comparison of ratios - Y - - - - 20.10.6 - SI types for ratio - Y - - - - 20.11 - Time utilities - - - - - 20.11.3 - Clock requirements - Y - - - - 20.11.4 - Time-related traits - - - - - 20.11.4.1 - treat_as_floating_point - Y - - - - 20.11.4.2 - duration_values - Y - - - - 20.11.4.3 - Specializations of common_type - Y - - - - - 20.11.5 - Class template duration - Partial - Missing constexpr for non-member arithmetic operations - - - 20.11.6 - Class template time_point - Y - - - - 20.11.7 - Clocks - - - - - 20.11.7.1 - Class system_clock - Y - - - - - 20.11.7.2 - Class steady_clock - N - Support old monotonic_clock spec instead - - - 20.11.7.3 - Class high_resolution_clock - Y - - - - 20.11.8 - Date and time functions - Y - - - - - 20.12 - Scoped allocator adaptor - Partial - - - - 20.12.1 - Header <scoped_allocator> synopsis - - - - - 20.12.2 - Scoped allocator adaptor member types - Y - - - - 20.12.3 - Scoped allocator adaptor constructors - Y - - - - - 20.12.4 - Scoped allocator adaptor members - Partial - - - - 20.12.5 - Scoped allocator operators - Y - - - - 20.13 - Class type_index - Y - - - - - 21 - - - Strings - - - - 21.1 - General - Y - - - - 21.2 - Character traits - - - - - 21.2.1 - Character traits requirements - Y - - - - 21.2.2 - traits typedefs - Y - - - - 21.2.3 - char_traits specializations - - - - - - 21.2.3.1 - struct char_traits<char> - Partial - Missing constexpr - - - - 21.2.3.2 - struct char_traits<char16_t> - Partial - Missing constexpr - - - 21.2.3.3 - struct char_traits<char32_t> - Y - - - - 21.2.3.4 - struct char_traits<wchar_t> - Y - - - - 21.3 - String classes - Y - - - - 21.4 - Class template basic_string - Y - - - - 21.5 - Numeric Conversions - Y - - - - 21.6 - Hash support - Y - - - - 21.7 - Null-terminated sequence utilities - Y - C library dependency - - - - 22 - - - Localization - - - - 22.1 - General - Y - - - - 22.2 - Header <locale> synopsis - Y - - - - 22.3 - Locales - - - - - 22.3.1 - Class locale - Y - - - - 22.3.2 - locale globals - Y - - - - 22.3.3 - Convenience interfaces - - - - - 22.3.3.1 - Character classification - Y - - - - 22.3.3.2 - Conversions - - - - - 22.3.3.2.1 - Character conversions - Y - - - - - 22.3.3.2.2 - string conversions - N - - - - - 22.3.3.2.3 - Buffer conversions - N - - - - 22.4 - Standard locale categories - - - - - 22.4.1 - The ctype category - Y - - - - 22.4.2 - The numeric category - - - - - 22.4.2.1 - num_get - Y - - - - 22.4.2.2 - num_put - Y - - - - 22.4.3 - The numeric punctuation facet - Y - - - - 22.4.4 - The collate category - Y - - - - 22.4.5 - The time category - - - - - 22.4.5.1 - Class template time_get - Y - - - - 22.4.5.2 - Class template time_get_byname - Y - - - - 22.4.5.3 - Class template time_put - Y - - - - 22.4.5.3 - Class template time_put_byname - Y - - - - 22.4.6 - The monetary category - - - - - 22.4.6.1 - Class template money_get - Y - - - - 22.4.6.2 - Class template money_put - Y - - - - 22.4.6.3 - Class template money_punct - Y - - - - 22.4.6.4 - Class template money_punct_byname - Y - - - - 22.4.7 - The message retrieval category - Y - - - - 22.4.8 - Program-defined facets - Y - - - - - 22.5 - Standard code conversion facets - N - - - - 22.6 - C Library Locales - Y - - - - - 23 - - - Containers - - - - 23.1 - General - - - - - 23.2 - Container requirements - - - - - 23.2.1 - General container requirements - Y - - - - 23.2.2 - Container data races - Y - - - - 23.2.3 - Sequence containers - Y - - - - - 23.2.4 - Associative containers - Partial - Missing emplace members - - - - 23.2.5 - Unordered associative containers - Partial - Missing emplace members - - - 23.3 - Sequence containers - - - - - 23.3.2 - Class template array - Y - - - - 23.3.3 - Class template deque - Y - - - - 23.3.4 - Class template forward_list - Y - - - - 23.3.5 - Class template list - Y - - - - 23.3.6 - Class template vector - Y - - - - 23.3.7 - Class vector<bool> - Y - - - - 23.4 - Associative containers - - - - - 23.4.4 - Class template map - Y - - - - 23.4.5 - Class template multimap - Y - - - - 23.4.6 - Class template set - Y - - - - 23.4.7 - Class template multiset - Y - - - - 23.5 - Unordered associative containers - - - - - 23.5.4 - Class template unordered_map - Y - - - - 23.5.5 - Class template unordered_multimap - Y - - - - 23.5.6 - Class template unordered_set - Y - - - - 23.5.7 - Class template unordered_multiset - Y - - - - 23.6 - Container adaptors - - - - - 23.6.1 - Class template queue - Y - - - - 23.6.2 - Class template priority_queue - Y - - - - 23.6.3 - Class template stack - Y - - - - - 24 - - - Iterators - - - - 24.1 - General - Y - - - - 24.2 - Iterator requirements - Y - - - - 24.3 - Header <iterator> synopsis - Y - - - - 24.4 - Iterator primitives - Y - - - - 24.5 - Iterator adaptors - - - - - 24.5.1 - Reverse iterators - Y - - - - 24.5.2 - Insert iterators - Y - - - - 24.5.3 - Move iterators - Y - - - - 24.6 - Stream iterators - - - - - 24.6.1 - Class template istream_iterator - Y - - - - 24.6.2 - Class template ostream_iterator - Y - - - - 24.6.3 - Class template istreambuf_iterator - Y - - - - 24.6.4 - Class template ostreambuf_iterator - Y - - - - 24.6.5 - range access - Y - - - - - 25 - - - Algorithms - - - - 25.1 - General - - - - - 25.2 - Non-modifying sequence operations - Y - - - - 25.3 - Mutating sequence operations - Y - - - - 25.4 - Sorting and related operations - Y - - - - 25.5 - C library algorithms - Y - - - - - 26 - - - Numerics - - - - 26.1 - General - Y - - - - 26.2 - Numeric type requirements - Y - - - - 26.3 - The floating-point environment - Y - - - - 26.4 - Complex numbers - Partial - Missing constexpr - - - 26.5 - Random number generation - - - - - 26.5.1 - Requirements - - - - - 26.5.2 - Header <random> synopsis - - - - - 26.5.3 - Random number engine class templates - - - - - 26.5.3.1 - Class template linear_congruential_engine - Y - Missing constexpr - - - 26.5.3.2 - Class template mersenne_twister_engine - Y - Missing constexpr - - - 26.5.3.3 - Class template subtract_with_carry_engine - Y - Missing constexpr - - - 26.5.4 - Random number engine adaptor class templates - - - - - 26.5.4.2 - Class template discard_block_engine - Y - Missing constexpr - - - 26.5.4.3 - Class template independent_bits_engine - Y - Missing constexpr - - - 26.5.4.4 - Class template shuffle_order_engine - Y - Missing constexpr - - - 26.5.5 - Engines and engine adaptors with predefined parameters - Y - - - - 26.5.6 - Class random_device - Y - Missing constexpr - - - 26.5.7 - Utilities - - - - - 26.5.7.1 - Class seed_seq - Y - - - - 26.5.7.2 - Function template generate_canonical - Y - - - - 26.5.8 - Random number distribution class templates - - - - - 26.5.8.2 - Uniform distributions - - - - - 26.5.8.2.1 - Class template uniform_int_distribution - Y - - - - 26.5.8.2.2 - Class template uniform_real_distribution - Y - - - - 26.5.8.3 - Bernoulli distributions - - - - - 26.5.8.3.1 - Class bernoulli_distribution - Y - - - - 26.5.8.3.2 - Class template binomial_distribution - Y - - - - 26.5.8.3.3 - Class template geometric_distribution - Y - - - - 26.5.8.3.4 - Class template negative_binomial_distribution - Y - - - - 26.5.8.4 - Poisson distributions - - - - - 26.5.8.4.1 - Class template poisson_distribution - Y - - - - 26.5.8.4.2 - Class template exponential_distribution - Y - - - - 26.5.8.4.3 - Class template gamma_distribution - Y - - - - 26.5.8.4.4 - Class template weibull_distribution - Y - - - - 26.5.8.4.5 - Class template extreme_value_distribution - Y - - - - 26.5.8.5 - Normal distributions - - - - - 26.5.8.5.1 - Class template normal_distribution - Y - - - - 26.5.8.5.2 - Class template lognormal_distribution - Y - - - - 26.5.8.5.3 - Class template chi_squared_distribution - Y - - - - 26.5.8.5.4 - Class template cauchy_distribution - Y - - - - 26.5.8.5.5 - Class template fisher_f_distribution - Y - - - - 26.5.8.5.6 - Class template student_t_distribution - Y - - - - 26.5.8.6 - Sampling distributions - - - - - 26.5.8.6.1 - Class template discrete_distribution - Y - - - - 26.5.8.6.2 - Class template piecewise_constant_distribution - Y - - - - 26.5.8.6.3 - Class template piecewise_linear_distribution - Y - - - - 26.6 - Numeric arrays - - - - - 26.6.1 - Header <valarray> synopsis - Y - - - - 26.6.2 - Class template valarray - Y - - - - 26.6.3 - valarray non-member operations - Y - - - - 26.6.4 - Class slice - Y - - - - 26.6.5 - Class template slice_array - Y - - - - 26.6.6 - The gslice class - Y - - - - 26.6.7 - Class template gslice_array - Y - - - - 26.6.8 - Class template mask_array - Y - - - - 26.6.9 - Class template indirect_array - Y - - - - 26.6.10 - valarray range access - Y - - - - 26.7 - Generalized numeric operations - - - - - 26.7.1 - Header <numeric> synopsis - Y - - - - 26.7.2 - accumulate - Y - - - - 26.7.3 - inner_product - Y - - - - 26.7.4 - partial_sum - Y - - - - 26.7.5 - adjacent_difference - Y - - - - 26.7.6 - iota - Y - - - - 26.8 - C Library - Y - - - - - 27 - - - Input/output library - - - - 27.1 - General - Y - - - - 27.2 - Iostreams requirements - Y - - - - 27.2.1 - Imbue Limitations - Y - - - - 27.2.2 - Positioning Type Limitations - Y - - - - - 27.2.3 - Thread safety - Partial - - - - 27.3 - Forward declarations - Y - - - - 27.4 - Standard iostream objects - Y - - - - 27.4.1 - Overview - Y - - - - 27.4.2 - Narrow stream objects - Y - - - - 27.4.3 - Wide stream objects - Y - - - - - 27.5 - Iostreams base classes - Partial - - Missing move and swap operations on basic_ios. Missing - make_error_code and make_error_condition. - - - - 27.6 - Stream buffers - Y - - - - - 27.7 - Formatting and manipulators - Partial - Missing move and swap operations - - - - 27.8 - String-based streams - Partial - Missing move and swap operations - - - - 27.9 - File-based streams - Partial - Missing move and swap operations - - - - 28 - - - Regular expressions - - - - - 28.1 - General - N - - - - - 28.2 - Definitions - N - - - - - 28.3 - Requirements - N - - - - - 28.4 - Header <regex> synopsis - N - - - - 28.5 - Namespace std::regex_constants - Y - - - - 28.6 - Class regex_error - Y - - - - - 28.7 - Class template regex_traits - Partial - - - - - 28.8 - Class template basic_regex - Partial - - - - - 28.9 - Class template sub_match - Partial - - - - - 28.10 - Class template match_results - Partial - - - - - 28.11 - Regular expression algorithms - N - - - - - 28.12 - Regular expression Iterators - N - - - - - 28.13 - Modified ECMAScript regular expression grammar - N - - - - - 29 - - - Atomic operations - - - - 29.1 - General - Y - - - - 29.2 - Header <atomic> synopsis - Y - - - - - 29.3 - Order and consistency - N - - - - - 29.4 - Lock-free property - Partial - Missing ATOMIC_BOOL_LOCK_FREE and - ATOMIC_POINTER_LOCK_FREE. - Based on _GLIBCXX_ATOMIC_PROPERTY - - - - - 29.5 - Atomic types - Partial - Missing constexpr - - - 29.6 - Operations on atomic types - Y - - - - 29.7 - Flag Type and operations - Y - - - - - 29.8 - Fences - N - - - - - 30 - - - Thread support - - - - 30.1 - General - Y - - - - 30.2 - Requirements - Y - - - - 30.3 - Threads - - - - - - 30.3.1 - Class thread - Partial - thread::id comparisons not well-defined - - - 30.3.2 - Namespace this_thread - Y - - - - 30.4 - Mutual exclusion - - - - - 30.4.1 - Mutex requirements - - - - - 30.4.1.1 - In general - - - - - 30.4.1.2 - Mutex types - - - - - 30.4.1.2.1 - Class mutex - Y - - - - 30.4.1.2.2 - Class recursive_mutex - Y - - - - 30.4.1.3 - Timed mutex types - - - - - 30.4.1.3.1 - Class timed_mutex - Y - - - - 30.4.1.3.2 - Class recursive_timed_mutex - Y - - - - 30.4.2 - Locks - - - - - 30.4.2.1 - Class template lock_guard - Y - - - - 30.4.2.2 - Class template unique_lock - Y - - - - 30.4.3 - Generic locking algorithms - Y - - - - 30.4.4 - Call once - - - - - 30.4.4.1 - Struct once_flag - Y - - - - 30.4.4.2 - Function call_once - Y - - - - - 30.5 - Condition variables - Partial - Missing notify_all_at_thread_exit - - - 30.5.1 - Class condition_variable - Y - - - - 30.5.2 - Class condition_variable_any - Y - - - - 30.6 - Futures - - - - - 30.6.1 - Overview - - - - - 30.6.2 - Error handling - Y - - - - 30.6.3 - Class future_error - Y - - - - 30.6.4 - Shared state - Y - - - - - 30.6.5 - Class template promise - Partial - Missing set_*_at_thread_exit - - - - 30.6.6 - Class template future - Partial - Timed waiting functions do not return future_status - - - - 30.6.7 - Class template shared_future - Partial - Timed waiting functions do not return future_status - - - 30.6.8 - Function template async - Y - - - - - 30.6.9 - Class template packaged_task - Partial - Missing make_ready_at_thread_exit - - - - Appendix D - - - Compatibility features - - - - D.1 - Increment operator with bool operand - - - - - D.2 - register keyword - - - - - D.3 - Implicit declaration of copy functions - - - - - D.4 - Dynamic exception specifications - - - - - D.5 - C standard library headers - - - - - D.6 - Old iostreams members - - - - - D.7 - char* streams - - - - - D.8 - Function objects - - - - - D.9 - Binders - - - - - D.10 - auto_ptr - - - - - D.11 - Violating exception-specifications - - - - - - -
- - -
Index: doc/xml/manual/test.xml =================================================================== --- doc/xml/manual/test.xml (revision 181023) +++ doc/xml/manual/test.xml (working copy) @@ -896,7 +896,7 @@ as the allocator type. - C++0x Container Requirements. + C++11 Container Requirements. @@ -924,7 +924,7 @@ as the allocator type.
-C++0x Requirements Test Sequence Descriptions +C++11 Requirements Test Sequence Descriptions Index: doc/Makefile.am =================================================================== --- doc/Makefile.am (revision 181022) +++ doc/Makefile.am (working copy) @@ -337,7 +337,7 @@ xml_sources_manual = \ ${xml_dir}/manual/shared_ptr.xml \ ${xml_dir}/manual/spine.xml \ ${xml_dir}/manual/status_cxx1998.xml \ - ${xml_dir}/manual/status_cxx200x.xml \ + ${xml_dir}/manual/status_cxx2011.xml \ ${xml_dir}/manual/status_cxxtr1.xml \ ${xml_dir}/manual/status_cxxtr24733.xml \ ${xml_dir}/manual/strings.xml \ Index: doc/Makefile.in =================================================================== --- doc/Makefile.in (revision 181022) +++ doc/Makefile.in (working copy) @@ -390,7 +390,7 @@ xml_sources_manual = \ ${xml_dir}/manual/shared_ptr.xml \ ${xml_dir}/manual/spine.xml \ ${xml_dir}/manual/status_cxx1998.xml \ - ${xml_dir}/manual/status_cxx200x.xml \ + ${xml_dir}/manual/status_cxx2011.xml \ ${xml_dir}/manual/status_cxxtr1.xml \ ${xml_dir}/manual/status_cxxtr24733.xml \ ${xml_dir}/manual/strings.xml \