* doc/standards.texi (C++ language): Update for C++11.

From-SVN: r182599
This commit is contained in:
Jason Merrill 2011-12-21 12:53:58 -05:00 committed by Jason Merrill
parent 44b22e25c5
commit e2c4d88e42
2 changed files with 22 additions and 17 deletions

View File

@ -1,3 +1,7 @@
2011-12-21 Jason Merrill <jason@redhat.com>
* doc/standards.texi (C++ language): Update for C++11.
2011-12-21 Jakub Jelinek <jakub@redhat.com>
* tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize

View File

@ -175,40 +175,41 @@ information concerning the history of C that is available online, see
@section C++ language
GCC supports the ISO C++ standard (1998) and contains experimental
support for the upcoming ISO C++ standard (200x).
GCC supports the original ISO C++ standard (1998) and contains
experimental support for the second ISO C++ standard (2011).
The original ISO C++ standard was published as the ISO standard (ISO/IEC
14882:1998) and amended by a Technical Corrigenda published in 2003
(ISO/IEC 14882:2003). These standards are referred to as C++98 and
C++03, respectively. GCC implements the majority of C++98 (@code{export}
is a notable exception) and most of the changes in C++03. To select
this standard in GCC, use one of the options @option{-ansi} or
@option{-std=c++98}; to obtain all the diagnostics required by the
standard, you should also specify @option{-pedantic} (or
this standard in GCC, use one of the options @option{-ansi},
@option{-std=c++98}, or @option{-std=c++03}; to obtain all the diagnostics
required by the standard, you should also specify @option{-pedantic} (or
@option{-pedantic-errors} if you want them to be errors rather than
warnings).
The ISO C++ committee is working on a new ISO C++ standard, dubbed
C++0x, that is intended to be published by 2009. C++0x contains several
changes to the C++ language, some of which have been implemented in an
experimental C++0x mode in GCC@. The C++0x mode in GCC tracks the draft
working paper for the C++0x standard; the latest working paper is
available on the ISO C++ committee's web site at
@uref{http://www.open-std.org/@/jtc1/@/sc22/@/wg21/}. For information
regarding the C++0x features available in the experimental C++0x mode,
A revised ISO C++ standard was published in 2011 as ISO/IEC
14882:2011, and is referred to as C++11; before its publication it was
commonly referred to as C++0x. C++11 contains several
changes to the C++ language, most of which have been implemented in an
experimental C++11 mode in GCC@. For information
regarding the C++11 features available in the experimental C++11 mode,
see @uref{http://gcc.gnu.org/projects/@/cxx0x.html}. To select this
standard in GCC, use the option @option{-std=c++0x}; to obtain all the
standard in GCC, use the option @option{-std=c++11}; to obtain all the
diagnostics required by the standard, you should also specify
@option{-pedantic} (or @option{-pedantic-errors} if you want them to be
errors rather than warnings).
@option{-pedantic} (or @option{-pedantic-errors} if you want them to
be errors rather than warnings).
More information about the C++ standards is available on the ISO C++
committee's web site at @uref{http://www.open-std.org/@/jtc1/@/sc22/@/wg21/}.
By default, GCC provides some extensions to the C++ language; @xref{C++
Dialect Options,Options Controlling C++ Dialect}. Use of the
@option{-std} option listed above will disable these extensions. You
may also select an extended version of the C++ language explicitly with
@option{-std=gnu++98} (for C++98 with GNU extensions) or
@option{-std=gnu++0x} (for C++0x with GNU extensions). The default, if
@option{-std=gnu++11} (for C++11 with GNU extensions). The default, if
no C++ language dialect options are given, is @option{-std=gnu++98}.
@section Objective-C and Objective-C++ languages