# ISO Standard Predefined Macros

The ISO/ANSI standard for the C language requires that certain predefined macros be supplied with conforming compilers.

The compiler includes predefined macros in addition to those required by the standard. The default predefined macros differ among Windows*, Linux*, and macOS* operating systems due to the default /Za compiler option on Windows. Differences also exist on Linux and macOS* as a result of the -std compiler option.

The following table lists the macros that the Intel® C++ Compiler Classic supplies in accordance with this standard:

Macro | Value
--- | ---
__DATE__ | The date of compilation as an 11-character string literal in the form `mm dd yyyy`. If the day is less than 10 characters, a space is added before the day value.
__FILE__ | A string literal representing the name of the file being compiled.
__LINE__ | The current line number as a decimal constant.
__STDC__ | Defined when compiling a C translation unit with the `Za` compiler option. (Windows)
__STDC_HOSTED__ | Defined and value is 1 only when compiling a C translation unit with `/Qstd=c99`.
__STDC_VERSION__ | Defined and value is 199901L only when compiling a C translation unit with `/Qstd=c99`.
__STDC_WANT_DEC_FP__ | Defined when compiling with option D. (Windows, Linux) Define this macro and include the respective header files to get the functions, macros, and types that comprise support for decimal floating-point functionality.
__TIME__ | The time of compilation as a string literal in the form `hh:mm:ss`.

Parent topic: Macros

## See Also

Additional Predefined Macros