Fortran Preprocessor Options

The Fortran preprocessor (fpp) may be invoked automatically or by specifying option fpp.

The following options are available if fpp is in effect.

fpp Option

Description

-B

Specifies that C++-style comments should not be recognized.

-C

Specifies that C-style comments should not be recognized. This is the same as specifying -c_com=no.

-c_com={yes|no}

Determines whether C-style comments are recognized. If you specify -c_com=no or -C, C-style comments are not recognized. By default, C-style comments are recognized; that is, -c_com=yes.

-Dname

Defines the preprocessor variable name as 1 (one). This is the same as if a -Dname=1 option appeared on the fpp command line, or as if a


#define name 1

line appeared in the source file processed by fpp.

-Dname=def

Defines name as if by a #define directive. This is the same as if a


#define name def

line appeared in the source file processed by fpp. The -D option has lower precedence than the -U option. That is, if the same name is used in both a -U option and a -D option, the name will be undefined regardless of the order of the options.

-e

Tells the compiler to accept extended source lines. For fixed format, lines can contain up to 132 characters. For free format, lines can contain up to 32768 characters.

-e80

Tells the compiler to accept extended source lines. For fixed format, lines can contain up to 80 characters.

-fixed

Tells the compiler to assume fixed format in the source file.

-free

Tells the compiler to assume free format in the source file.

-f_com={yes|no}

Determines whether Fortran-style end-of-line comments are recognized or ignored by fpp. If you specify -f_com=no, Fortran style end-of-line comments are processed as part of the preprocessor directive. By default, Fortran style end-of-line comments are recognized by fpp on preprocessor lines and are ignored by fpp; that is, -f_com=yes. For example:


#define max 100 ! max number do i = 1, max + 1

If you specify -f_com=yes, fpp will output


do i = 1, 100 + 1

If you specify -f_com=no, fpp will output


do i = 1, 100 ! max number + 1

-help

Displays information about fpp options.

-I<dir>

Inserts directory <dir> into the search path for #include files with names not beginning with "/". The <dir> is inserted ahead of the standard list of "include" directories so that #include files with names enclosed in double-quotes (") are searched for first in the directory of the file with the #include line, then in directories named with -I options, and lastly, in directories from the standard list. For #include files with names enclosed in angle-brackets (<>), the directory of the file with the #include line is not searched.

-m

Expands macros everywhere. This is the same as -macro=yes.

macro={yes|no_com|no}

Determines the bahavior of macro expansion. If you specify -macro=no_com, macro expansion is turned off in comments. If you specify -macro=no, no macro expansion occurs anywhere. By default, macros are expanded everywhere; that is, -macro=yes.

-noB

Specifies that C++-style comments should be recognized.

-noC

Specifies that C-style comments should be recognized. This is the same as -c_com=yes.

-noJ

Specifies that F90-style comments should be recognized in a #define line. This is the same as -f_com=no.

-no-fort-cont

Specifies that IDL style format should be recognized. This option is only for the IDE. Note that macro arguments in IDL may have a C-like continuation character "\" which is different from the Fortran continuation character "&". Fpp should recognize the C-like continuation character and process some other non-Fortran tokens so that the IDL processor can recognize them.

-P

Tells the compiler that line numbering directives should not be added to the output file. This line-numbering directive appears as


#line-number file-name

-Uname

Removes any initial definition of name, where name is an fpp variable that is predefined on a particular preprocessor. Here is a partial list of symbols that may be predefined, depending upon the architecture of the system:

Operating System: __APPLE__, __unix, and __linux

Hardware: __i386, __ia64, __x86_64

-undef

Removes initial definitions for all predefined symbols.

-V

Displays the fpp version number.

-w[0]

Prevents warnings from being output. By default, warnings are output to stderr.

-Xu

Converts uppercase letters to lowercase, except within character-string constants. The default is to leave the case as is.

-Xw

Tells the compiler that in fixed-format source files, the blank or space symbol " " is insignificant. By default, the space symbol is the delimiter of tokens for this format.

-Y<dir>

Adds directory <dir> to the end of the system include paths.

For details on how to specify these options on the compiler command line, see fpp, Qfpp.