aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/gcc/doc/standards.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1-5666.3/gcc/doc/standards.texi')
-rw-r--r--gcc-4.2.1-5666.3/gcc/doc/standards.texi195
1 files changed, 0 insertions, 195 deletions
diff --git a/gcc-4.2.1-5666.3/gcc/doc/standards.texi b/gcc-4.2.1-5666.3/gcc/doc/standards.texi
deleted file mode 100644
index e8cbac854..000000000
--- a/gcc-4.2.1-5666.3/gcc/doc/standards.texi
+++ /dev/null
@@ -1,195 +0,0 @@
-@c Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
-@c This is part of the GCC manual.
-@c For copying conditions, see the file gcc.texi.
-
-@node Standards
-@chapter Language Standards Supported by GCC
-@cindex C standard
-@cindex C standards
-@cindex ANSI C standard
-@cindex ANSI C
-@cindex ANSI C89
-@cindex C89
-@cindex ANSI X3.159-1989
-@cindex X3.159-1989
-@cindex ISO C standard
-@cindex ISO C
-@cindex ISO C90
-@cindex ISO/IEC 9899
-@cindex ISO 9899
-@cindex C90
-@cindex ISO C94
-@cindex C94
-@cindex ISO C95
-@cindex C95
-@cindex ISO C99
-@cindex C99
-@cindex ISO C9X
-@cindex C9X
-@cindex Technical Corrigenda
-@cindex TC1
-@cindex Technical Corrigendum 1
-@cindex TC2
-@cindex Technical Corrigendum 2
-@cindex AMD1
-@cindex freestanding implementation
-@cindex freestanding environment
-@cindex hosted implementation
-@cindex hosted environment
-@findex __STDC_HOSTED__
-
-For each language compiled by GCC for which there is a standard, GCC
-attempts to follow one or more versions of that standard, possibly
-with some exceptions, and possibly with some extensions.
-
-GCC supports three versions of the C standard, although support for
-the most recent version is not yet complete.
-
-@opindex std
-@opindex ansi
-@opindex pedantic
-@opindex pedantic-errors
-The original ANSI C standard (X3.159-1989) was ratified in 1989 and
-published in 1990. This standard was ratified as an ISO standard
-(ISO/IEC 9899:1990) later in 1990. There were no technical
-differences between these publications, although the sections of the
-ANSI standard were renumbered and became clauses in the ISO standard.
-This standard, in both its forms, is commonly known as @dfn{C89}, or
-occasionally as @dfn{C90}, from the dates of ratification. The ANSI
-standard, but not the ISO standard, also came with a Rationale
-document. To select this standard in GCC, use one of the options
-@option{-ansi}, @option{-std=c89} or @option{-std=iso9899:1990}; 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). @xref{C Dialect Options,,Options
-Controlling C Dialect}.
-
-Errors in the 1990 ISO C standard were corrected in two Technical
-Corrigenda published in 1994 and 1996. GCC does not support the
-uncorrected version.
-
-An amendment to the 1990 standard was published in 1995. This
-amendment added digraphs and @code{__STDC_VERSION__} to the language,
-but otherwise concerned the library. This amendment is commonly known
-as @dfn{AMD1}; the amended standard is sometimes known as @dfn{C94} or
-@dfn{C95}. To select this standard in GCC, use the option
-@option{-std=iso9899:199409} (with, as for other standard versions,
-@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
-@uref{http://gcc.gnu.org/gcc-4.2/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
-@dfn{C9X}.)
-
-Errors in the 1999 ISO C standard were corrected in two Technical
-Corrigenda published in 2001 and 2004. GCC does not support the uncorrected
-version.
-
-By default, GCC provides some extensions to the C language that on
-rare occasions conflict with the C standard. @xref{C
-Extensions,,Extensions to the C Language Family}. Use of the
-@option{-std} options listed above will disable these extensions where
-they conflict with the C standard version selected. You may also
-select an extended version of the C language explicitly with
-@option{-std=gnu89} (for C89 with GNU extensions) or @option{-std=gnu99}
-(for C99 with GNU extensions). The default, if no C language dialect
-options are given, is @option{-std=gnu89}; this will change to
-@option{-std=gnu99} in some future release when the C99 support is
-complete. Some features that are part of the C99 standard are
-accepted as extensions in C89 mode.
-
-The ISO C standard defines (in clause 4) two classes of conforming
-implementation. A @dfn{conforming hosted implementation} supports the
-whole standard including all the library facilities; a @dfn{conforming
-freestanding implementation} is only required to provide certain
-library facilities: those in @code{<float.h>}, @code{<limits.h>},
-@code{<stdarg.h>}, and @code{<stddef.h>}; since AMD1, also those in
-@code{<iso646.h>}; and in C99, also those in @code{<stdbool.h>} and
-@code{<stdint.h>}. In addition, complex types, added in C99, are not
-required for freestanding implementations. The standard also defines
-two environments for programs, a @dfn{freestanding environment},
-required of all implementations and which may not have library
-facilities beyond those required of freestanding implementations,
-where the handling of program startup and termination are
-implementation-defined, and a @dfn{hosted environment}, which is not
-required, in which all the library facilities are provided and startup
-is through a function @code{int main (void)} or @code{int main (int,
-char *[])}. An OS kernel would be a freestanding environment; a
-program using the facilities of an operating system would normally be
-in a hosted implementation.
-
-@opindex ffreestanding
-GCC aims towards being usable as a conforming freestanding
-implementation, or as the compiler for a conforming hosted
-implementation. By default, it will act as the compiler for a hosted
-implementation, defining @code{__STDC_HOSTED__} as @code{1} and
-presuming that when the names of ISO C functions are used, they have
-the semantics defined in the standard. To make it act as a conforming
-freestanding implementation for a freestanding environment, use the
-option @option{-ffreestanding}; it will then define
-@code{__STDC_HOSTED__} to @code{0} and not make assumptions about the
-meanings of function names from the standard library, with exceptions
-noted below. To build an OS kernel, you may well still need to make
-your own arrangements for linking and startup.
-@xref{C Dialect Options,,Options Controlling C Dialect}.
-
-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
-environment, you will need to find them elsewhere (for example, in the
-GNU C library). @xref{Standard Libraries,,Standard Libraries}.
-
-Most of the compiler support routines used by GCC are present in
-@file{libgcc}, but there are a few exceptions. GCC requires the
-freestanding environment provide @code{memcpy}, @code{memmove},
-@code{memset} and @code{memcmp}.
-Finally, if @code{__builtin_trap} is used, and the target does
-not implement the @code{trap} pattern, then GCC will emit a call
-to @code{abort}.
-
-For references to Technical Corrigenda, Rationale documents and
-information concerning the history of C that is available online, see
-@uref{http://gcc.gnu.org/readings.html}
-
-@c FIXME: details of C++ standard.
-
-@cindex Objective-C
-@cindex Objective-C++
-
-There is no formal written standard for Objective-C or Objective-C++@. The most
-authoritative manual is ``Object-Oriented Programming and the
-Objective-C Language'', available at a number of web sites:
-
-@itemize
-@item
-@uref{http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/}
-is a recent (and periodically updated) version;
-@item
-@uref{http://www.toodarkpark.org/computers/objc/}
-is an older example;
-@item
-@uref{http://www.gnustep.org}
-and
-@uref{http://gcc.gnu.org/readings.html}
-have additional useful information.
-@end itemize
-
-@cindex treelang
-There is no standard for treelang, which is a sample language front end
-for GCC@. Its only purpose is as a sample for people wishing to write a
-new language for GCC@. The language is documented in
-@file{gcc/treelang/treelang.texi} which can be turned into info or
-HTML format.
-
-@xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
-GNAT Reference Manual}, for information on standard
-conformance and compatibility of the Ada compiler.
-
-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
-of standards supported by GNU Fortran.
-
-@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
-for details of compatibility between @command{gcj} and the Java Platform.