The compilers are compatible with the C language described in the American National Standards Institute (ANSI) American National Standard for Information Systems--Programming Language C document number X3.159-1989. The standard language is referred to as ``ANSI C'' in this document. The compilers are also compatible with the C language described in the International Standards Organization (ISO) Programming Languages--C, document number ISO/IEC 9899:1990 (E), referred to as ``ISO C'', as well as the updated C standard (C99), ISO/IEC 9899:1999, except for two major exceptions and two minor ones. The main unimplemented features are complex arithmetic and variable length arrays. The former also means that there is no <complex.h> header. The minor items are the return value for snprintf(3S) when the destination array is not long enough (the C99-conforming functions are provided, but are spelled _xsnprintf() and _xvsnprintf()), and some header name space issues. The latter means that many of the new names added by C99 to existing headers will not be visible when using -Xc.
You can use this topic either as a quick reference guide, or as a comprehensive summary of the language as implemented by the compilation system. Many topics are grouped according to their place in the ANSI-specified phases of translation, which describe the steps by which a source file is translated into an executable program. The phases of translation are explained in ``Phases of translation''