Visible to Intel only — GUID: GUID-FE23698F-AE3E-4D50-9A00-2A2FDB885885
Visible to Intel only — GUID: GUID-FE23698F-AE3E-4D50-9A00-2A2FDB885885
vms
Causes the runtime system to behave like HP* Fortran on OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*).
Syntax
Linux: |
-vms -novms |
macOS: |
-vms -novms |
Windows: |
/vms /novms |
Arguments
None
Default
novms |
The runtime system follows default Intel® Fortran behavior. |
Description
This option causes the runtime system to behave like HP* Fortran on OpenVMS* Alpha systems and VAX* systems (VAX FORTRAN*).
It affects the following language features:
Certain defaults
In the absence of other options, vms sets the defaults as check format and check output_conversion.
Alignment
Option vms does not affect the alignment of fields in records or items in common blocks. For compatibility with HP Fortran on OpenVMS systems, use align norecords to pack fields of records on the next byte boundary.
Carriage control default
If option vms and option ccdefault default are 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 runtime 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.
OPEN statement effects
Carriage control defaults to FORTRAN if the file is formatted, and the unit is connected to a terminal. 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 runtime 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 runtime 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.
IDE Equivalent
Visual Studio: Compatibility > Enable VMS Compatibility
Alternate Options
None