Most VMS FORTRAN extensions are incorporated into the f77 compiler. The compiler writes messages to standard error for any unsupported statements in the source file. The following is a list of the few VMS statements that are not supported.
DEFINE FILE statement
DELETE statement
UNLOCK statement
FIND statement
REWRITE statement
KEYID and key specifiers in READ statements
Nonstandard OPEN specifiers
ASSOCIATEVARIABLE
BLOCKSIZE
BUFFERCOUNT
CARRIAGECONTROL
DEFAULTFILE
DISP[OSE]
EXTENDSIZE
INITIALSIZE
KEY
MAXREC
NOSPANBLOCKS
ORGANIZATION
RECORDTYPE
SHARED
USEROPEN
The intrinsic function, %DESCR
The following parameters on the OPTIONS statement:
[NO]G_FLOATING
[NO]F77
CHECK=[NO]OVERFLOW
CHECK=[NO]UNDERFLOW
Some of the INCLUDE statement
Some aspects of the INCLUDE statement are converted. The INCLUDE statement is operating system-dependent, so it cannot be completely converted automatically. The VMS version allows a module-name and a LIST control directive that are indistinguishable from a continuation of a UNIX file name. Also, VMS ignores alphabetic case, so if you are inconsistent about capitalization, distinctions are made where none are intended.
Getting a long integer--expecting a short
In VMS FORTRAN, you can pass a long integer argument to a subroutine that expects a short integer. This feature works if the long integer fits in 16 bits, because the VAX addresses an integer by its low-order byte. This feature does not work on SPARC systems.
Those VMS system calls that are directly tied to that operating system
Initializing a common block in more than one subprogram
Alphabetizing common blocks so you can rely or depend on the order in which blocks are loaded. You can specify the older with the -M mapfile option to ld.