Technical data

Predefined Macros [7]
Predefined macros can be divided into the following categories:
Macros required by the C and C++ standards
Macros based on the host machine
Macros based on the target machine
Macros based on the compiler
Predefined macros provide information about the compilation environment. In
the subsections that follow, only those macros that begin with the underscore
(_) character are defined when running in strict-conformance mode (see the
-h conform command line option in Section 2.4.2, page 9).
Note: Any of the predefined macros except those required by the standard (see
Section 7.1, page 117) can be undefined by using the -U command line option;
they can also be redefined by using the -D command line option.
A large set of macros is also defined in the standard header files. These macros
are described in the UNICOS System Libraries Reference Manual.
7.1 Macros Required by the C and C++ Standards
The following macros are required by the C and C++ standards:
M
acro Description
__TIME__ Time of translation of the source file.
__DATE__ Date of translation of the source file.
__LINE__ Line number of the current line in your source file.
__FILE__ Name of the source file being compiled.
__STDC__ Defined as the decimal constant 1 if compilation is
in strict conformance mode; defined as the decimal
constant 2 if the compilation is in extended mode.
This macro is defined for Cray Standard C/C++
compilations.
__cplusplus Defined as 1 when compiling Cray Standard
C++ code and undefined when compiling Cray
Standard C code. The __cplusplus macro is
S217936 117