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 bscc
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: None.
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 control 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 returns 'UNKNOWN'
BLANK returns 'UNKNOWN'
FORM returns '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
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 libs
Specifies that the PowerStation portability library should be passed to the linker.
Default: -fpscomp nologicals
Specifies that Microsoft* Fortran PowerStation representation of LOGICAL values will be used.
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.