Begins a block data program unit. Statement format:
BLOCK DATA [nam]
[stmts]
END [BLOCK DATA [nam]]
nam Is the symbolic name used to identify the block.
stmts Is one or more of the following statements:
COMMON PARAMETER Type declaration
DATA POINTER Derived-type definition
DIMENSION RECORD Record structure declaration
EQUIVALENCE SAVE
IMPLICIT TARGET
INTRINSIC USE
Note: A type declaration cannot contain the ALLOCATABLE,
EXTERNAL, INTENT, OPTIONAL, PRIVATE, or PUBLIC
attributes.
A BLOCK DATA statement and its associated specification statements
are a special kind of program unit, called a block data subprogram.
A block data program unit need not be named, but there can only be
one unnamed block data program unit in an executable program.
A block data subprogram must not contain any executable statements.
As with other types of program units, the last statement in a block
data subprogram must be an END statement. If a name follows the
END statement, it must be the same as the name specified in the
BLOCK DATA statement.
Within a block data subprogram, if a DATA statement initializes any
entity in a named common block, the subprogram must have a complete
set of specification statements that establishes the common block.
However, all of the entities in the block do not have to be
assigned initial values in a DATA statement.
One block data subprogram can establish and define initial values
for more than one common block.
The name of a block data subprogram can appear in the EXTERNAL
statement of a different program unit to force a search of object
libraries for the BLOCK DATA program unit at link time.