LP
Use the LP
compiler option to indicate
whether a AMODE 31 (31-bit) or AMODE 64 (64-bit) program should be
generated with the related language features enabled.
Default is: LP(32)
Abbreviations are: None
- LP(32)
- Indicates that an AMODE 31 (31-bit) program should be generated with the related language features enabled.
- LP(64)
- Indicates that an AMODE 64 (64-bit) program should be generated with the related language features enabled.
Option specification: You can specify the LP
option in the
ways that you specify other compiler options. However, if you specify the option in a
CBL
or PROCESS
statement, you can only specify the
LP
option for the first program in a sequence of programs (batch compilation). You
cannot change the value of the option for subsequent programs in the batch.
Runtime consideration: Currently, Language Environment®
does not support mixing AMODE 64 and AMODE 31 programs in the same application. If one program is
compiled with LP(64)
, all programs within the application should also be compiled
with LP(64)
. For static CALLs, the binder will issue a message if it encounters
mixing addressing modes during external name resolution. For dynamic CALLs, you would receive a run
time error for a CALL between programs if one is AMODE 64 and one is AMODE 31 or 24 without the
mixed AMODE support. For details about dynamic calls support in a mixed AMODE 31/AMODE 64
environment, see COBOL applications with mixed AMODE 31 and AMODE 64 programs.
When using the LP(64)
compiler
option, the compilation process includes a component that runs in
POSIX(ON) mode. This implies that there must be an OMVS Segment established
in RACF® (or equivalent in RACF alternatives) for each user
executing the compiler with this option.
LP(64)
:
- Programs compiled with
LP(64)
cannot containXML GENERATE
orXML PARSE
statements,JSON GENERATE
orJSON PARSE
statements, object-oriented COBOL statements,ALTER
statements,GO TO.
statements, andDISPLAY ... UPON SYSPUNCH
statements. - AMODE 64 programs cannot run in CICS® or IMS.
- Compiler exits (using the
EXIT
compiler option) must NOT be compiled with theLP(64)
compiler option. - When
LP(64)
is in effect, both theDLL
andNODLL
options are ignored without warning, andNODLL
will always appear in the listing.
LP(64)
, some compiler options are not applicable. For more
information, see Using compiler options to compile AMODE 64 programs.