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.
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:
See Supported Native and Nonnative Numeric Formats.
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.
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.
Causes the run-time system to behave like HP Fortran on OpenVMS Alpha systems and VAX* systems (VAX FORTRAN*) in the following ways:
In the absence of other options, -vms sets the defaults as -check format and -check output_conversion.
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.
/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
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.
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
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)).
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.
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
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.