9.32 Standard C and Standard C++ language extensions

The compiler supports numerous extensions to both the ISO C99 and the ISO C++ Standards, such as various integral type extensions, various floating-point extensions, hexadecimal floating-point constants, and anonymous classes, structures, and unions.

These extensions are available if:

  • The source language is C++ and you are compiling in nonstrict mode.

  • The source language is C99 and you are compiling in nonstrict mode.

  • The source language is C90 and you are compiling in nonstrict mode.

These extensions are not available if:

  • The source language is C++ and the compiler is restricted to compiling strict C++ using the --strict compiler option.

  • The source language is C99 and the compiler is restricted to compiling strict Standard C using the --strict compiler option.

  • The source language is C90 and the compiler is restricted to compiling strict C90 using the --strict compiler option.

Related reference
9.33 Address of a register variable
9.34 Arguments to functions
9.35 Anonymous classes, structures and unions
9.36 Assembler labels
9.37 Empty declaration
9.38 Hexadecimal floating-point constants
9.39 Incomplete enums
9.40 Integral type extensions
9.41 Label definitions
9.42 Long float
9.43 Nonstatic local variables
9.44 Structure, union, enum, and bitfield extensions
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.