FORTRAN Reference Manual

Compiler Directives
FORTRAN Reference Manual528615-001
10-25
EXTENDEDREF Compiler Directive
LARGEDATA directives.
Considerations
Use of EXTENDEDREF Directive
Use the EXTENDEDREF directive when you compile program units that do not
include LARGECOMMON or LARGEDATA directives but which you plan to
combine with separately compiled program units that do include LARGECOMMON
or LARGEDATA directives.
You do not have to use the EXTENDEDREF directive in programs that include the
LARGECOMMON or LARGEDATA directives. When you use the
LARGECOMMON or LARGEDATA directives, FORTRAN automatically compiles
your program as if you included an EXTENDEDREF directive.
You must specify EXTENDEDREF either with the FORTRAN command (after the
semicolon following the object file name) or in the source input file before the first
FORTRAN statement.
The NOEXTENDEDREF form of the directive tells FORTRAN to use word
addressing.
Use With Separately Compiled FORTRAN Program Units
You cannot bind FORTRAN program units compiled with EXTENDEDREF,
LARGECOMMON, or LARGEDATA with FORTRAN program units compiled with
NOEXTENDEDREF.
Use With Guardian Procedures or Utility Routines
If you call Guardian procedures or FORTRAN utility routines from programs
compiled with EXTENDEDREF, LARGECOMMON, or LARGEDATA, you must
declare the called procedures in GUARDIAN directives.
Some C-series Guardian procedures use word-addressed parameters. You cannot
use a formal parameter or data item stored in extended memory as a passby-
reference argument if the dummy argument is a word-addressed item.
For additional details about using Guardian procedures and FORTRAN utility
routines, see Section 13, Mixed-Language Programming.
Use With COBOL85 Program Units
You can call a FORTRAN program unit from a COBOL85 program unit whether or
not the FORTRAN program unit was compiled with EXTENDEDREF,
LARGECOMMON, or LARGEDATA. When the COBOL85 compiler processes an
ENTER statement, it automatically checks the object file that contains the compiled
program unit to determine whether to generate a calling sequence with word or
doubleword addresses.
[NO]EXTENDEDREF