### Language Levels

To help you avoid conflicts between the different C language definitions in existence, the IBM C and C++ Compilers support several levels of the C language. Available language levels and their descriptions are:

Level | Description
--- | ---
ansi | Conforms to the American National Standards Institute (ANSI) C standard.
classic | Conforms closely to the K&R level preprocessor, enabling the compilation of many non-ANSI programs.
compat |
extended | High compatibility with RT C source code. extended level C is defined as ansi level C, extended for compatibility with the RT compiler. RT compatibility conflicts with the ANSI C standard under certain conditions.
saal2 | Systems Application Architecture (SAA) CPI C Level 2. saal2 level C conforms to SAA C with some deviations.
saa | The highest level SAA C definition available. This is currently SAA Level 2 C.
Note: saal2 and saa C language levels are options, and are not part of the SAA Common Programming Interface.

You should use the ansi language level for most new programs.

AIX also uses various compiler invocation modes to provide additional support for specific environments and levels of the C language.

#pragma langlvl Preprocessor Directive