The compatibility options let you specify how to make your source files and data files compatible with older Fortran versions or other operating systems, such as big endian unformatted data files, OpenVMS* systems run-time behavior, and Microsoft* Fortran PowerStation.
See Also
Default: Off
Alternate syntax: -onetrip
Specifies that the compiler should execute DO loops at least once. See also -[no]f66.
Default: -assume nobscc
Alternate syntax: -nbs is the same as -assume nobscc
Tells the compiler to treat the backslash character (\) as a C-style control (escape) character in character literals. The default, -assume nobscc ("assume no BackSlashControlCharacters"), tells the compiler to treat the backslash character as a normal character instead of a control character in character literals.
This option is useful when transferring programs from non-UNIX* environments, such as OpenVMS*.
Default: -convert native
Specifies the format of unformatted files containing numeric data. Possible values are:
-convert big_endian
-convert cray
-convert ibm
-convert little_endian
-convert native
-convert vaxg
-convert vaxd
See Supported Native and Nonnative Numeric Formats.
Default: -nof77rtl
Specifies the use of FORTRAN 77 run-time behavior. If you use the default value (-nof77rtl), Intel Fortran run-time behavior is used.
Specifying this option controls the following run-time behavior:
When the unit is not
connected to a file, some INQUIRE specifiers will return different values:
NUMBER returns 0; ACCESS, BLANK, and FORM return 'UNKNOWN'
List-directed input for character strings must be delimited by apostrophes or quotation marks, or an error will result.
When processing NAMELIST input, Column 1 of each record is skipped. Additionally, the '$' or '&' that appears prior to the group-name must appear in column 2 of the input record.
Default: -fpscomp libs
Specifies that all the -fpscomp options for compatibility with Microsoft* Fortran PowerStation should be used. The default value specifies that the PowerStation portability library should be passed to the linker.
-fpscomp none specifies that no options for Fortran PowerStation compatibility should be used.
Default: -fpscomp nofilesfromcmd
Specifies Microsoft* Fortran PowerStation behavior when the OPEN statement file specifier is blank. This option looks in the command-line arguments for unspecified filenames on an OPEN(. . . FILE=' ', . . .) and prompts for filenames at the terminal console.
Default: -fpscomp nogeneral
Specifies that Microsoft* Fortran PowerStation semantics should be used where differences exist between Intel Fortran and PowerStation.
Default: -fpscomp noioformat
Specifies Microsoft* Fortran PowerStation semantic conventions and record formats for list-directed formatted I/O and unformatted I/O.
Default: -fpscomp noldio_spacing
For list-directed output, controls whether a blank is inserted at run-time after a numeric value before a character value (undelimited character string). The default is -fpscomp noldio_spacing, which conforms to the Fortran 95 standard by inserting a blank after a numeric value before a character value. To request non-standard behavior for compatibility with Fortran PowerStation and Intel Fortran releases before Version 8.0, either specify -fpscomp ldio_spacing or specify -fpscomp general, which sets -fpscomp ldio_spacing.
Default: -fpscomp libs
Specifies that the PowerStation portability library should be passed to the linker.
Default: -fpscomp nologicals
Specifies the internal binary representation of LOGICAL values and how they are used.
If nologicals is specified, integers with an odd value (low bit one) are treated as true, integers with an even value (low bit zero) are treated as false. The literal constant .TRUE. has an integer value of -1 and the literal constant .FALSE. has an integer value of 0.
If logicals is specified, integers with a non-zero value are treated as true, integers with a zero value are treated as false. The literal constant .TRUE. has an integer value of 1, and the literal constant .FALSE. has an integer value of 0.
The default, -fpscomp nologicals, is compatible with Compaq Fortran. Intel Fortran versions prior to 8.0 used the representation specified by -fpscomp logicals.
The internal representation of LOGICAL values is not specified by the Fortran standard. Programs which use integer values in LOGICAL contexts, or which pass LOGICAL values to procedures written in other languages, are non-portable and may not execute correctly. Intel recommends that you avoid coding practices that depend on the internal representation of LOGICAL values.
Default: Off
Produces profile data with 32-bit counters. The default is to produce profile data with 64-bit counters to handle large numbers of events.
This option allows compatibility with earlier compilers.
Default: Off
Causes the run-time system to behave like HP Fortran on OpenVMS Alpha systems and VAX* systems (VAX FORTRAN*) in the following ways:
Certain defaults
In the absence of other options, -vms
sets the defaults as -check
format and -check
output_conversion.
Alignment
The -vms option
does not affect the alignment of fields in records or items in common
blocks. Use -align norecords
to pack fields of records on the next byte boundary for compatibility
with HP Fortran on OpenVMS systems.
Carriage control default
If -vms -ccdefault
default is specified, carriage control defaults to FORTRAN if the
file is formatted and the unit is connected to a terminal.
INCLUDE qualifiers
/LIST and /NOLIST are recognized at the end of the file name in an
INCLUDE statement at compile time.
If the file name in the INCLUDE statement does not specify the complete
path, the path used is the current directory.
Note that if -vms
is not specified, the path used is the directory where the file that contains
the INCLUDE statement resides.
Quotation mark character
A quotation mark (") character is recognized as starting an octal
constant ("0..7) instead of a character literal ("...").
Deleted records in
relative files
When a record in a relative file is deleted, the first byte of that
record is set to a known character (currently ' @ ' ). Attempts to read
that record later result in ATTACCNON errors. The rest of the record (the
whole record, if -vms
is not specified) is set to nulls for unformatted files and spaces for
formatted files.
ENDFILE records
When an ENDFILE is performed on a sequential unit, an actual 1-byte
record containing a Ctrl/Z is written to the file. If -vms
is not specified, an internal ENDFILE flag is set and the file is truncated.
The -vms option
does not affect ENDFILE on relative files: these files are truncated.
Implied logical unit
numbers
The -vms option
enables Intel Fortran to recognize certain environment variables at run
time for ACCEPT, PRINT, and TYPE statements and for READ and WRITE statements
that do not specify a unit number (such as READ (*,1000)).
Treatment
of blanks in input
The -vms option
causes the defaults for the keyword BLANK in OPEN statements to become
' NULL ' for an explicit OPEN and ' ZERO ' for an implicit OPEN of an
external or internal file. For more information, see the description of
the OPEN statement.
OPEN
statement effects
Carriage control defaults to FORTRAN if the file is formatted, and
the unit is connected to a terminal (checked by means of isatty(3) ).
Otherwise, carriage control defaults to LIST.
The -vms option
affects the record length for direct access and relative organization
files. The buffer size is increased by 1 to accommodate the deleted record
character.
Reading deleted records and
ENDFILE records
The run-time direct access READ routine checks the first byte of the
retrieved record. If this byte is ' @ ' or NULL ("\0"), then
an ATTACCNON error is returned.
The run-time sequential access READ routine checks to see if the record
it just read is one byte long and contains a Ctrl/Z. If this is true,
it returns EOF.