FORTRAN Reference Manual

Compiler Directives
FORTRAN Reference Manual528615-001
10-31
HIGHCONTROL Compiler Directive
segment, and all byte-addressed blocks in the lower half, except for blocks
explicitly specified in LARGECOMMON directives.
You can use more than one HIGHCOMMON directive in a compilation. The effect
is the same as if you had concatenated the common block names in a single
directive. As a result, if you include one HIGHCOMMON directive without a block
name list and one with, the compiler ignores the directive without a block name list.
You cannot explicitly mention a byte-addressed block in a HIGHCOMMON
directive. A block is byte-addressed if it contains a RECORD or any type
CHARACTER data.
You cannot declare the same block name in a HIGHCOMMON and in a
LARGECOMMON directive.
If your program contains both a HIGHCOMMON and LARGECOMMON directive,
one of the directives must have a block name list.
Example
?HIGHCOMMON (employee, salary, grade)
HIGHCONTROL Compiler Directive
If you compile your program with ENV OLD in effect, the HIGHCONTROL directive
instructs Binder to allocate I/O control blocks in the upper half of the user data
segment. If you do not specify HIGHCONTROL, the I/O control block resides in
secondary global storage below the stack.
If you compile your program with ENV COMMON in effect, the HIGHCONTROL
directive instructs Binder to allocate the special data block #MCB in the upper half of
the user data segment. If you do not specify HIGHCONTROL, the special data block
#MCB resides in the lower half of the user data segment.
The default value is NOHIGHCONTROL.
Example
?HIGHCONTROL
[NO]HIGHCONTROL