### #pragma langlvl

The #pragma langlvl directive selects the C language level used for compilation.

This pragma must appear before any statements in a source file. The compiler uses predefined macros in the header files to make declarations and definitions available that define the specified language level.

Language levels available are:

Language Level | Description
`ansi` | Defines the predefined macros __ANSI__ and __STDC__, and defines other langlvl variables. The default language level for the clc and c89 compiler invocations is ansi.
`classic` | Defines the predefined macro __CLASSIC__, and undefines other langlvl variables.
compat | Defines the predefined macro __COMPAT__, and undefines other langlvl variables.
`extended` | Defines the predefined macro __EXTENDED__, and undefines other langlvl variables. The default language level for the CC compiler invocation commands is extended.
`saa` | Defines the predefined macro __SAA__, and undefines other langlvl variables.
`saal2` | Defines the predefined macro __SAA_L2__, and undefines other langlvl variables.

The

- langlvl
- /S[a|c|e|2]

compiler option has the same effect as this pragma.

Preprocessor Directives
C Language Levels

#pragma Preprocessor Directives
List of Preprocessor Directives