You can use the -D option to define the assertion and macro names to be used during preprocessing. The -U option directs the preprocessor to suppress an automatic definition of a macro.
Use the -D option to define a macro. This option performs the same function as the #define preprocessor directive. The format of this option is -Dname[=value({#|text})] where
name |
The name of the macro to define. |
value[={#|text}] |
Indicates a value to be substituted for name. |
If you do not enter a value, name is set to 1. The value should be in quotation marks if it contains non-alphanumerics.
Preprocessing replaces every occurrence of name with the specified value. For example, to define a macro called SIZE with the value100 use the following command:
IA-32 applications:
prompt>ifc -DSIZE=100 prog1.f
Itanium(TM)-based applications:
prompt>efc -DSIZE=100 prog1.f
Preprocessing replaces all occurrences of SIZE with the specified value before passing the preprocessed source code to the compiler. Suppose the program contains the declaration:
REAL VECTOR(SIZE)
In the code sent to the compiler, the value 100 replaces SIZE in this declaration, and in every other occurrence of the name SIZE.
Use the -Uname option to suppress any macro definition currently in effect for the specified name. The -U option performs the same function as an #undef preprocessor directive.
To remove all of the predefined macros, use the -A option. Note that the -A- option issues a warning if OpenMP function does not work correctly.
The predefined macros available for the Intel® Fortran Compiler are described in the table below. The Default column describes whether the macro is enabled (ON) or disabled (OFF) by default. The Disable column lists the option which disables the macro.
Macro Name |
Default |
Disable |
Description - When Used |
IA-32 and Itanium compilers |
|||
_M_IX86=n |
ON,n=600 |
_u |
Defined based on the processor option you specify: n=500 if you specify -tpp5 n=600 if you specify -tpp6 n=700 if you specify -tpp7 |
IA-32 |
|||
__linux__ |
ON |
_u |
Defined for Linux applications |
__IFC |
ON |
no |
Identifies the Intel Fortran Compiler |
Itanium compiler |
|||
_M_IA64_linux |
ON |
_u |
Defined for Itanium-based Linux applications |
__EFC |
ON |
no |
Identifies the Intel Fortran Compiler |