This switch selects between natural alignment, for example, REAL*8 entities start on double-word boundaries, or nonalignment of data elements in COMMON blocks.
Alignment (-natural
), the kf77
default,
requires that variables and arrays will start on boundaries that
correspond to their size. Items that take up two words, for
example, COMPLEX arrays, will start on double-word boundaries.
Single-word items, for example, REAL variables, will start on word
boundaries. Half-word items, for example, INTEGER*2 variables, will
start on half-word boundaries. When used in conjunction with the
-aggressive
switch, -natural
will cause
KAP to insert additional spacing variables into COMMON blocks to
preserve the alignment. Natural alignment can improve program speed
by making memory access simpler.
The kapf
default -nonatural
causes
variables and arrays to be packed tightly into COMMON blocks. This
can reduce memory usage, but slow the program.