Commit b76f5d16 by Joseph Myers Committed by Joseph Myers

implement-c.texi: Document C11 implementation-defined behavior.

	* doc/implement-c.texi: Document C11 implementation-defined
	behavior.  Refer to -ffp-contract=fast for contraction behavior.
	* doc/invoke.texi (-std=c99, std=c11): Update description of
	completeness.
	(-std=gnu99): Don't mention as future default.
	(-std=gnu11): Mention as intended future default.
	* doc/standards.texi: Update descriptions of C99 and C11 support.
	Limit statement about C99 facilities for freestanding
	implementations to some platforms only.

From-SVN: r205505
parent a6797ed6
2013-11-29 Joseph Myers <joseph@codesourcery.com>
* doc/implement-c.texi: Document C11 implementation-defined
behavior. Refer to -ffp-contract=fast for contraction behavior.
* doc/invoke.texi (-std=c99, std=c11): Update description of
completeness.
(-std=gnu99): Don't mention as future default.
(-std=gnu11): Mention as intended future default.
* doc/standards.texi: Update descriptions of C99 and C11 support.
Limit statement about C99 facilities for freestanding
implementations to some platforms only.
2013-11-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/59327
......@@ -1654,16 +1654,24 @@ ISO C90 as modified in amendment 1.
@itemx c9x
@itemx iso9899:1999
@itemx iso9899:199x
ISO C99. Note that this standard is not yet fully supported; see
ISO C99. This standard is substantially completely supported, modulo
bugs, extended identifiers (supported except for corner cases when
@option{-fextended-identifiers} is used) and floating-point issues
(mainly but not entirely relating to optional C99 features from
Annexes F and G). See
@w{@uref{http://gcc.gnu.org/c99status.html}} for more information. The
names @samp{c9x} and @samp{iso9899:199x} are deprecated.
@item c11
@itemx c1x
@itemx iso9899:2011
ISO C11, the 2011 revision of the ISO C standard.
Support is incomplete and experimental. The name @samp{c1x} is
deprecated.
ISO C11, the 2011 revision of the ISO C standard. This standard is
substantially completely supported, modulo bugs, extended identifiers
(supported except for corner cases when
@option{-fextended-identifiers} is used), floating-point issues
(mainly but not entirely relating to optional C11 features from
Annexes F and G) and the optional Annexes K (Bounds-checking
interfaces) and L (Analyzability). The name @samp{c1x} is deprecated.
@item gnu90
@itemx gnu89
......@@ -1672,13 +1680,12 @@ is the default for C code.
@item gnu99
@itemx gnu9x
GNU dialect of ISO C99. When ISO C99 is fully implemented in GCC,
this will become the default. The name @samp{gnu9x} is deprecated.
GNU dialect of ISO C99. The name @samp{gnu9x} is deprecated.
@item gnu11
@itemx gnu1x
GNU dialect of ISO C11. Support is incomplete and experimental. The
name @samp{gnu1x} is deprecated.
GNU dialect of ISO C11. This is intended to become the default in a
future release of GCC. The name @samp{gnu1x} is deprecated.
@item c++98
@itemx c++03
......
......@@ -85,8 +85,8 @@ as @dfn{AMD1}; the amended standard is sometimes known as @dfn{C94} or
@option{-pedantic} to receive all required diagnostics).
A new edition of the ISO C standard was published in 1999 as ISO/IEC
9899:1999, and is commonly known as @dfn{C99}. GCC has incomplete
support for this standard version; see
9899:1999, and is commonly known as @dfn{C99}. GCC has substantially
complete support for this standard version; see
@uref{http://gcc.gnu.org/c99status.html} for details. To select this
standard, use @option{-std=c99} or @option{-std=iso9899:1999}. (While in
development, drafts of this standard version were referred to as
......@@ -97,8 +97,8 @@ Corrigenda published in 2001, 2004 and 2007. GCC does not support the
uncorrected version.
A fourth version of the C standard, known as @dfn{C11}, was published
in 2011 as ISO/IEC 9899:2011. GCC has limited incomplete support for
parts of this standard, enabled with @option{-std=c11} or
in 2011 as ISO/IEC 9899:2011. GCC has substantially complete support
for this standard, enabled with @option{-std=c11} or
@option{-std=iso9899:2011}. (While in development, drafts of this
standard version were referred to as @dfn{C1X}.)
......@@ -111,10 +111,9 @@ select an extended version of the C language explicitly with
@option{-std=gnu90} (for C90 with GNU extensions), @option{-std=gnu99}
(for C99 with GNU extensions) or @option{-std=gnu11} (for C11 with GNU
extensions). The default, if no C language dialect
options are given, is @option{-std=gnu90}; this will change to
@option{-std=gnu99} or @option{-std=gnu11} in some future release when
the C99 or C11 support is
complete. Some features that are part of the C99 standard are
options are given, is @option{-std=gnu90}; this is intended to change
to @option{-std=gnu11} in some future release. Some features that are
part of the C99 standard are
accepted as extensions in C90 mode, and some features that are part of
the C11 standard are accepted as extensions in C90 and C99 modes.
......@@ -156,7 +155,7 @@ your own arrangements for linking and startup.
GCC does not provide the library facilities required only of hosted
implementations, nor yet all the facilities required by C99 of
freestanding implementations; to use the facilities of a hosted
freestanding implementations on all platforms; to use the facilities of a hosted
environment, you will need to find them elsewhere (for example, in the
GNU C library). @xref{Standard Libraries,,Standard Libraries}.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment