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.

LP option syntax

Read syntax diagramSkip visual syntax diagramLP(3264)

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.

Restrictions for programs with LP(64):
  • Programs compiled with LP(64) cannot contain XML GENERATE or XML PARSE statements, JSON GENERATE or JSON PARSE statements, object-oriented COBOL statements, ALTER statements, GO TO. statements, and DISPLAY ... UPON SYSPUNCH statements.
  • AMODE 64 programs cannot run in CICS® or IMS.
  • Compiler exits (using the EXIT compiler option) must NOT be compiled with the LP(64) compiler option.
  • When LP(64) is in effect, both the DLL and NODLL options are ignored without warning, and NODLL will always appear in the listing.
Note: With LP(64), some compiler options are not applicable. For more information, see Using compiler options to compile AMODE 64 programs.