TAL Reference Manual
Compiler Directives
TAL Reference Manual—526371-001
16-55
INT32INDEX Directive
INT32INDEX Directive
INT32INDEX generates INT(32) indexes from INT indexes for accessing items in an
extended indirect structure in a D-series program.
The default is NOINT32INDEX.
Usage Considerations
This directive can appear in the compilation command or any number of times in a D-
series compilation unit.
INT32INDEX turns the INT32INDEX setting on for subsequent declarations.
NOINT32INDEX turns the INT32INDEX setting off for subsequent declarations. Such
declarations retain their INT32INDEX or NOINT32INDEX attribute throughout the
compilation.
PUSHINT32INDEX pushes the current INT32INDEX setting onto the directive stack
without changing the current setting.
POPINT32INDEX removes the top value from the directive stack and sets the current
INT32INDEX setting to that value.
INT32INDEX
INT32INDEX generates an INT(32) index from an INT index for a structure item in an
extended indirect structure. INT32INDEX thus produces a correct extended offset even
when the word offset of the structure field (from the zeroth structure occurrence) is
greater than the signed INT range (–32,768 through 32,767). (For a STRING item or a
substructure, the byte offset must be in this range.)
INT32INDEX overrides the INHIBITXX or NOINHIBITXX directive.
NOINT32INDEX
NOINT32INDEX produces code that is faster than that produced by INT32INDEX, but
it produces an incorrect extended offset when the offset of the structure field is outside
the signed INT range. In such cases, you must use INT(32) indexing as discussed in
Section 8, “Using Structures,” in the
TAL Programmer’s Guide.
VST1634.vsd
POPINT32INDEX
PUSHINT32INDEX
NOINT32INDEX
INT32INDEX