FORTRAN Reference Manual
Mixed-Language Programming
FORTRAN Reference Manual—528615-001
13-22
The COBOLEXT Files
The COBOLEXT Files
Every NonStop system in which the FORTRAN compiler is installed, also includes files 
named COBOLEX0, COBOLEX1, and COBOLEXT in the same subvolume as the 
FORTRAN compiler (usually this is the $SYSTEM.SYSTEM subvolume). These files 
are also used by the COBOL85 compiler.
The compilers use these files when translating references to Guardian procedures. 
They are object files and contain, in effect, compiled versions of the source files 
EXTDECS0, EXTDECS1, and EXTDECS, respectively, that are also available in the 
$SYSTEM.SYSTEM subvolume of every NonStop system.
If the FORTRAN compiler encounters a CALL statement or function reference to a 
procedure that was named in a GUARDIAN directive, the compiler consults the file 
named COBOLEXT in the same subvolume as the compiler for information about the 
procedure and its parameters, so that the compiler can generate the correct object 
code for invoking the procedure. The file named COBOLEXT corresponds to the 
EXTDECS file, which contains declarations of Guardian procedures as of two major 
releases preceding the current release. If you want to use a more recent version such 
as COBOLEX1 or COBOLEX0 (such as using a Guardian procedure that was added in 
the latest or previous major release), you must use the CONSULT directive, rather than 
the GUARDIAN directive, to reference one of those files by name.
Compatibility With the Old Form of Procedure Calls Not Written 
in FORTRAN
Existing programs that use the old form for procedure calls that are not written in 
FORTRAN will continue to compile and execute correctly unless you modify the 
programs to use extended data space (that is, to use EXTENDEDREF, 
LARGECOMMON, or LARGEDATA directives), or unless you declare the procedures 
that are not written in FORTRAN using GUARDIAN and CONSULT directives.
•
Because the new calling sequence is easier to code and read, you should add 
GUARDIAN and CONSULT directives and update the calling sequences if you 
modify existing programs. It is not essential that you do this, however, except in a 
few specific cases:
•
You must add GUARDIAN and CONSULT directives and update the calling 
sequences if you modify the programs to use EXTENDEDREF, LARGECOMMON, 
or LARGEDATA directives.
You must use the new calling sequence for any procedure not written in FORTRAN 
that you declare in a GUARDIAN or CONSULT directive, even if the program does not 
use EXTENDEDREF, LARGECOMMON, or LARGEDATA directives.
To convert existing procedure calls that are not written in FORTRAN to the new form 
for procedure calls not written in FORTRAN, follow these steps:
1. Delete any variable or extensible mask word (or words) at the end of the argument 
list.










