pTAL Reference Manual (G06.24+, H06.09+, J06.03+)
Implicitly Defined Compilation Toggle __EXT64
The state of this toggle reflects whether the __EXT64 directive (see __EXT64) has been specified.
If the__EXT64 directive is not specified, the compiler implicitly sets the __EXT64 toggle off. Likewise,
if the __EXT64 directive is specifed, the compiler implicitly sets this toggle on.
This toggle is implicitly defined and maintained by all versions of EpTAL starting with SPR
T0561H01^AAP. It is not supported by earlier versions of EpTAL or any version of the pTAL or
TAL compiler.
For downward compatibility with earlier versions of EpTAL and with pTAL and TAL, the toggle can
be specified in a DEFINETOG directive which creates the toggle and implicitly resets it. For more
information, see “DEFINETOG” (page 388).
Directives
__EXT64
__EXT64
Directs the compiler to recognize the keywords and functionality for 64-bit address support. Default
is off (the new keywords are not recognized). This directive also sets the implicitly defined toggle
__EXT64 as described in “Implicitly Defined Compilation Toggle __EXT64” (page 534).
__EXT64 must be specified on the command line or before the first token in the source is parsed.
DEFINETOG, RESETTOG, and SETTOG
DEFINETOG __EXT64
RESETTOG __EXT64 -- Not recommended
SETTOG __EXT64 -- Not recommended
The implicitly defined toggle __EXT64 reflects the status of the __EXT64 directive.
This implicitly defined toggle is not supported by the EpTAL compilers prior to SPR T0561H01^AAP
nor is it supported by any pTAL or TAL compiler. If you need to compile using earlier versions of
EpTAL, pTAL, or TAL compiler, explicitly specify __EXT64 in a DEFINETOG directive which explicitly
defines and sets the toggle off in these compilers.
You can specify DEFINETOG __EXT64 using EpTAL compilers starting with SPR T0561H01^AAP
however, doing so has no effect on the implicitly defined __EXT64 toggle
In TAL, pTAL, and EpTAL prior to T0561H01^AAP, you can RESETTOG and SETTOG the __EXT64
toggle, however, this is not recommended. In T0561H01^AAP EpTAL, RESETTOG can be applied
to the __EXT64 toggle only if the implicit setting of the toggle is already off; likewise SETTOG can
be applied to the __EXT64 toggle only if the implicit setting of the toggle is already on.
IF and IFNOT
IF[NOT] { __EXT64 }
In addition to the existing functionality of IF and IFNOT, IF __EXT64 evaluates to true if and only
if the directive __EXT64 has been specified.
Implicit Address Conversions
Implicit conversions are allowed from smaller extended address, procedure address, and procedure
pointer types to larger extended address, procedure address, and procedure pointer types,
respectively. In the case of procedure pointers, the prototypes of the two types must also match.
EXT64ADDR e64a;
EXTADDR ea;
PROC64ADDR p64a;
PROC32ADDR p32a;
PROC64PTR p64p (x); INT(16) x; END PROCPTR;
PROC64PTR p64p1(x); INT(32) x; END PROCPTR;
PROC32PTR p32p (x); INT(16) x; END PROCPTR;
534 64-bit Addressing Functionality