5.1 Characteristics of C7000 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). The compiler can also accept many of the language extensions found in the GNU C compiler (see Section 5.13).
The compiler supports some features of C99 in the default relaxed ANSI mode with C89 support. It supports all language features of C99 in C99 mode. See Section 5.12.
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:
- The run-time library has minimal support for wide characters. The type wchar_t is implemented as unsigned int (32 bits). The wide character set is equivalent to the set of values of type char. The library includes the header files <wchar.h> and <wctype.h>, but does not include all the functions specified in the standard. See Section 5.4 for information about extended and multibyte character sets.
- The run-time library includes the header file <locale.h>, but with a minimal implementation. The only supported locale is the C locale. That is, library behavior that is specified to vary by locale is hard-coded to the behavior of the C locale, and attempting to install a different locale by way of a call to setlocale() will return NULL.
- Some run-time functions and features in the C99 specification are not supported. See Section 5.12.