1.2 Source language modes of the compiler

The compiler has three distinct source language modes that you can use to compile different varieties of C and C++ source code: ISO C90, ISO C99, and ISO C++.

ISO C90

The compiler compiles C as defined by the 1990 C standard and addenda.

Use the compiler option --c90 to compile C90 code. This is the default behavior.

ISO C99

The compiler compiles C as defined by the 1999 C standard and addenda.

Use the compiler option --c99 to compile C99 code.

ISO C++

The compiler compiles C++ as defined by the 2003 standard, excepting wide streams and export templates.

Use the compiler option --cpp to compile C++ code.

The compiler provides support for numerous extensions to the C and C++ languages. For example, it supports some GNU compiler extensions. The compiler has several modes in which compliance with a source language is either enforced or relaxed:

Strict mode

In strict mode the compiler enforces compliance with the language standard relevant to the source language.

To compile in strict mode, use the command-line option --strict.

GNU mode

In GNU mode all the GNU compiler extensions to the relevant source language are available.

To compile in GNU mode, use the compiler option --gnu.

Related concepts
5.63 New language features of C99
5.68 Hexadecimal floating-point numbers in C99
Related reference
1.3 ISO C90
1.4 ISO C99
1.5 ISO C++
1.6 Language extensions
1.7 Language compliance
8.23 --c90
8.24 --c99
8.91 --gnu
8.37 --cpp
8.173 --strict, --no_strict
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.