DIGITAL Fortran 90
User Manual for
DIGITAL UNIX Systems


Previous Contents Index

3.22 -check underflow --- Floating-Point Underflow Run-Time Checking

Specifying -check underflow displays a run-time warning message (maximum of twice) when a floating-point underflow occurs. The default is -check nounderflow .

Floating-point underflow is allowed to continue if the -fpe3 or -fpe4 option was specified; otherwise, the underflow value is replaced by zero. A count of how many occurrences of each type of exception is displayed upon program completion. For additional information, see Section 3.35.

For More Information:

On underflow ranges for floating-point data types, see Section 9.4.

3.23 -convert keyword --- Unformatted Numeric Data Conversion

The -convert keyword options control whether numeric data in unformatted files is converted or not. Numeric data in an unformatted file is expected to be in native little endian integer and little endian IEEE S_float, T_float, and X_float floating-point formats, unless handled otherwise by the application.

You can specify the unformatted numeric data format for specific unit numbers by using the OPEN statement CONVERT specifier or by setting the appropriate FORT_CONVERTn environment variable.

The following options apply (the default is -convert native ):

-convert big_endian

Specifying -convert big_endian indicates that unformatted files containing numeric data are in IEEE big endian (nonnative) format.

The resulting program will read and write unformatted files containing numeric data by using the following assumptions:

-convert cray

Specifying -convert cray indicates that unformatted files containing numeric data are in CRAY (nonnative) big endian format.

The resulting program will read and write unformatted files containing numeric data by using the following assumptions:

-convert fdx

Specifying -convert fdx indicates that numeric data in unformatted files is in OpenVMS Alpha little endian format, as follows:

-convert fgx

Specifying -convert fgx indicates that numeric data in unformatted files is in OpenVMS Alpha little endian format, as follows:

-convert ibm

Specifying -convert ibm indicates that unformatted files containing numeric data are in IBM (nonnative) big endian format.

The resulting program will read and write unformatted files containing numeric data by using the following assumptions:

-convert little_endian

Specifying -convert little_endian indicates that numeric data in unformatted files is in native little endian integer format and IEEE little endian floating-point format (same as used in memory).

On DIGITAL UNIX systems, using -convert little_endian produces the same results as -convert native .

-convert native

Specifying -convert native indicates that numeric data in unformatted files is not converted. The disk floating-point formats are expected to match the memory floating-point formats, as follows:

If you omit other -convert keyword options, -convert native is used.

-convert vaxd

Specifying -convert vaxd indicates that numeric data in unformatted files is in VAXD little endian format, as follows:

-convert vaxg

Specifying -convert vaxg indicates that numeric data in unformatted files is in VAXG little endian format, as follows:

For More Information:

3.24 -cpp and Related Options --- Run C Preprocessor

Specifying the -cpp option runs the C preprocessor cpp on all Fortran 90 source files before compiling.

The following cpp macros are defined by the f90 command when any .f90 , .f , .for , or .for file is being compiled:

If you omit -cpp and -p , the cpp preprocessor is not run.

If you specify -cpp or -p , you can also specify the related options described in Section 3.24.1 to Section 3.24.7.

3.24.1 -Dname and -Dname=def --- Define cpp Names

Specifying -dname or -dname=def defines name to the cpp preprocessor, as if the name were specified using the #define cpp directive. If no definition is given after -d , the name is defined as "1".

This option is also used by the compiler for conditional compilation with Fortran directives (see Section 3.25).

3.24.2 -I --- Remove Directory from cpp Include Search Path

Specifying -i prevents cpp from searching for #include files in the standard directory /usr/include .

3.24.3 -Idir --- Add Directory to cpp Include Search Path

Specifying -idir directs cpp to search for #include files whose names do not contain an absolute pathname, in the following order:

  1. In the directory of the input file specified on the f90 command line
  2. In the directory (dir) specified by the -i dir option
  3. In the standard directory /usr/include

This option also specifies additional directories in which to search for Fortran 90 module and include files (see Section 3.42).

3.24.4 -K --- Keep Temporary Files

Specifying -k requests that temporary files created by cpp or the DIGITAL Fortran 90 compiler not be automatically deleted.

3.24.5 -M --- Request cpp Dependency Lists for make

Specifying -m requests that cpp generate dependency lists suitable for make , instead of the normal output.

3.24.6 -P --- Retain cpp Intermediate Files

Specifying -p runs only the cpp preprocessor and puts the result for each source file, by suffix convention (for example, .f and .s ), in a corresponding .i file, after being processed by appropriate preprocessors. The .i file does not have line numbers (#) in it. This sets the -cpp option.

3.24.7 -Uname --- Undefine cpp Name

Specifying -uname removes the definition of name, such as a predefined symbol. This option is also used by the compiler to remove symbol names from conditional compilation using Fortran directives (see Section 3.77).

3.24.8 -Wp,-xxx --- Pass Specified Option to cpp

The -wp,-xxx option allows you to pass an option directly to the cpp preprocessor, where -xxx is the option to be passed to cpp .

For More Information:

3.25 -Dname and -Dname=def --- Define Symbol Names

Specifying -dname or -dname=def defines name as the preprocessor symbol def for use either by cpp or Fortran conditional compilation. When used for Fortran conditional compilation, def must be an integer. If no definition is given after -d , the name is defined as "1".

Preprocessor symbols can be used for conditional compilation by using the cDEC$ IF directive construct (see the DIGITAL Fortran Language Reference Manual) or by using cpp . Predefined preprocessor symbols are defined in Section 3.24.

3.26 -d_lines --- Debugging Statement Indicator, Column 1

Use the -d_lines option to request that lines in fixed-format source files that have a D or a d character in column 1 be compiled instead of treated as comment lines. Such lines might print the values of variables or otherwise provide useful debugging information.

The default ( -nod_lines ) treats all lines with a D or a d in column 1 as comment lines. The -d_lines option does not apply to free-format files.

Use -d_lines to control whether lines with a D or d character in column 1 are treated as comments or not.

3.27 -double_size 128, -double_size 64 --- Double Precision Data Size

Use the -double_size 128 option to specify the size of DOUBLE PRECISION declarations, constants, functions, and intrinsics as REAL (KIND=16) or native (IEEE style) X_float format.

If you omit -double_size 128 , -double_size 64 is used where DOUBLE PRECISION declarations are treated the same as REAL (KIND=8) declarations.

3.28 -error_limit num, -noerror_limit --- Limit Error Messages

Use the -error_limit num and -noerror_limit options to specify the maximum number of error-level or fatal-level compiler errors allowed for a given file specified on the f90 command line.

If you specify -noerror_limit , there is no limit on the number of errors that are allowed.

The default is -error_limit 30 or a maximum of 30 error-level and fatal-level messages. If the maximum number of errors is reached, a warning message is issued and the next file (if any) on the command line is compiled.

3.29 -extend_source --- Line Length for Fixed-Format Source

Specifying the -extend_source option treats the statement field of each source line in a fixed-format file as ending in column 132 instead of column 72. The default ( -noextend_source or -col72 ) allows 72-column lines; all apply only to fixed-format source files. Specifying -extend_source sets the -fixed option. Using -extend_source or -col132 sets the source to fixed format even if implicit naming rules set it to free format.

For More Information:

3.30 -f66, -66, -nof77, -onetrip, -1 --- FORTRAN IV Compatibility

Specifying -f66 , -66 , or -nof77 (all are equivalent) allows extensions that enhance FORTRAN 66 (FORTRAN IV) compatibility. The default is -nof66 , which specifies that FORTRAN-77 interpretation rules are used for those statements that have a meaning incompatible with FORTRAN 66. If you specify -f66 , the compiler selects FORTRAN 66 interpretations in cases of incompatibility.

One of the differences is that in FORTRAN 66, DO loops are executed at least once. You can specify -onetrip or -1 to request that DO loops be executed at least once. Specifying -f66 (or -66 ) sets -onetrip .

If you omit -onetrip , -1 , -nof77 , or -f66 , DO loops whose lower range exceeds the upper range will not be executed.

3.31 -fast --- Set Options to Improve Run-Time Performance

Specifying -fast sets the following options:

Avoid using the -fast option unless you understand the options that -fast sets. For example, the -fast option sets the -fp_reorder and -math_library fast options, which can change the calculated results of a program. Also, before you use -fast with the -wsf option, first make sure your program does not use any zero-sized arrays or array sections (see Section 3.87).

3.32 -feedback file, -gen_feedback, -cord --- Create and Use Feedback Files

Allows the creation and use of a feedback file, which can improve run-time performance. You can optionally use cord to rearrange procedures.

You create a feedback file by using a series of commands, including f90 with the -gen_feedback option, pixie , and prof (see the Section 5.2.3).

-cord

Specifying -cord runs the procedure-rearranger cord after the linker creates the executable program. This rearrangement reduces the cache conflicts of the program's text. The output of cord is left in the file specified by the -o output option or a.out by default. At least one -feedback file must be specified.

-feedback file

Specifying -feedback file indicates that file is a feedback file. You can use this option with the -cord option.

This file is produced by the prof command with its -feedback option from an execution of the program produced by the pixie command.

-gen_feedback

Used with the f90 command to request that the compiler generate code that allows accurate feedback information for subsequent use of the -feedback file option.

Using -gen_feedback changes the default optimization level from -o4 to -o0 . Avoid using -gen_feedback with optimizations higher than -o3 .

For More Information:

3.33 -fixed, -free --- Fortran 90 Source Form

Use the -fixed and -free options to specify the source form:

-fixed

Specifying -fixed indicates that the source form is fixed format, regardless of the file name suffix. Source files with a suffix of .f , .for , and .for are assumed to contain fixed source form.

-free

Specifying -free indicates that the source form is free format, regardless of the file name suffix. Source files with a suffix of .f90 are assumed to contain free source form.

You cannot specify both -free and -fixed on the same f90 command line.

Table 3-2 summarizes how the -free and -fixed options interact with the file suffix of a source file.

Table 3-2 Interaction of File Suffix and the -free and -fixed Options on Source Form
Suffix -free Option -fixed Option Expected Source Form
.f90 Not specified Not specified Free form
.f90 Specified Not specified Free form
.f90 Not specified Specified Fixed form
.f, .for, .FOR Not specified Not specified Fixed form
.f, .for, .FOR Specified Not specified Free form
.f, .for, .FOR Not specified Specified Fixed form

For More Information:


Previous Next Contents Index