SPNU151W January 1998 – March 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
The C compiler supports the 1989, 1999, and 2011 versions of the C language:
The C language is also described in the second edition of Kernighan and Ritchie's The C Programming Language (K&R). The compiler can also accept many of the language extensions found in the GNU C compiler (see Section 5.17).
The compiler supports some features of C99 and C11 in the default relaxed ANSI mode with C89 support. It supports all language features of C99 in C99 mode and all language features of C11 in C11 mode. See Section 5.16.
The atomic operations in C11 are supported in the relaxed ANSI mode (on by default) and in C11 mode as follows:
In addition, the compiler supports many of the features described in the ARM C Language Extensions (ACLE) specification. These features are applicable for the Cortex-M and Cortex-R processor variants. ACLE support affects the pre-defined macros (Table 2-31), function attributes (Section 5.17.2), and intrinsics (Section 5.14) you may use in C/C++ code. These features are implemented in order to support the development of source code that can be compiled using ACLE-compliant compilers from multiple vendors for a variety of ARM processors.
The ANSI/ISO standard identifies some features of the C language that may be affected by characteristics of the target processor, run-time environment, or host environment. This set of features can differ among standard compilers.
Unsupported features of the C library are: