-@c Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+@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.
@cindex X3.159-1989
@cindex ISO C standard
@cindex ISO C
-@cindex ISO C89
@cindex ISO C90
@cindex ISO/IEC 9899
@cindex ISO 9899
development, drafts of this standard version were referred to as
@dfn{C9X}.)
-@opindex traditional
-GCC also has some limited support for traditional (pre-ISO) C with the
-@option{-traditional} option. This support may be of use for compiling
-some very old programs that have not been updated to ISO C, but should
-not be used for new programs. It will not work with some modern C
-libraries such as the GNU C library.
+Errors in the 1999 ISO C standard were corrected in a Technical
+Corrigendum published in 2001. 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
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. 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}.
+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
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.
-There is no formal written standard for Objective-C@. The most
+@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;
-@uref{http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/} has a
-recent version, while @uref{http://www.toodarkpark.org/computers/objc/}
-is an older example. @uref{http://www.gnustep.org} includes useful
-information as well.
+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
-@xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
+@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{References,,Language Definition References, chill, GNU Chill},
-for details of the CHILL standard.
-
-@xref{Language,,The GNU Fortran Language, g77, Using and Porting GNU
-Fortran}, for details of the Fortran language supported by GCC@.
+@xref{Standards,,Standards, gfortran, The GNU Fortran 95 Compiler}, for details
+of standards supported by @command{gfortran}.
@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
-for details of compatibility between @code{gcj} and the Java Platform.
+for details of compatibility between @command{gcj} and the Java Platform.