The compiler supports the 1989, 1999, and 2011 versions of the C language and the 2003 version of the C++ language. The C and C++ language features in the compiler are implemented in conformance with the following ISO standards:
- ISO-standard C: The C compiler supports
the 1989, 1999, and 2011 versions of the C language.
- C89. Compiling
with the --c89 option causes the compiler to conform to the ISO/IEC
9899:1990 C standard, which was previously ratified as ANSI X3.159-1989.
The names "C89" and "C90" refer to the same programming language. "C89"
is used in this document.
- C99. Compiling
with the --c99 option causes the compiler to conform to the ISO/IEC
9899:1999 C standard.
- C11. Compiling with the --c11 option causes the
compiler to conform to the ISO/IEC 9899:2011 C standard.
The C language is also described in the second edition of Kernighan and
Ritchie's The C Programming Language (K&R). - ISO-standard C++:
The compiler uses the C++03
version of the C++ standard. See the C++ Standard ISO/IEC 14882:2003.
The language is also described in Ellis and Stroustrup's The Annotated
C++ Reference Manual (ARM), but that is not the standard. For a
description of unsupported C++ features, see Section 6.2.
- ISO-standard run-time support: The
compiler tools come with an extensive run-time library. Library functions
conform to the ISO C/C++ library standard unless otherwise stated. The library
includes functions for standard input and output, string manipulation, dynamic
memory allocation, data conversion, timekeeping, trigonometry, and exponential
and hyperbolic functions. Functions for signal handling are not included,
because these are target-system specific. For more information, see Chapter 8.
See Section 6.14 for command line options to select the C or C++ standard your code uses.