Compiler option changes in Enterprise COBOL Version 5 and Version 6
A number of changes are made to compiler options in Enterprise COBOL V5 and V6.
The following options are new:
Compiler option | Comments |
---|---|
AFP | New option. It controls the compiler usage of the
Additional Floating Point (AFP) registers that are provided by z/Architecture® processors.
|
ARCH | New option. It specifies the machine architecture
for which the executable program instructions are to be generated.
|
![]() ![]() |
![]() PDSE (or PDS )
dataset or z/OS® UNIX directory
as an additional location to be searched for copy members during the
library phase.![]() |
COPYRIGHT | New option in Enterprise COBOL V5.2. It places a string in the object module if the object module is generated. |
DISPSIGN | New option. It controls output formatting for DISPLAY of signed numeric items. DISPSIGN(COMPAT) is the default. |
HGPR | New option. It controls the compiler usage of the 64-bit registers provided by z/Architecture processors. HGPR(PRESERVE) is the default. |
INITCHECK | New option in Enterprise COBOL V5.2 with the service PTFs, V6.1 with the service PTFs, and V6.2. It controls whether to check for uninitialized data items and issue warning messages when they are used without being initialized. |
![]() ![]() |
![]() ![]() |
MAXPCF | New option. It instructs the compiler not to optimize
code if the program contains a complexity factor greater than n.![]()
![]() |
![]() ![]() |
![]() SIZE
ERROR checking for binary data items.![]() |
QUALIFY | New option in Enterprise COBOL V5.2. It affects qualification rules and controls whether to extend qualification rules so that some data items that cannot be referenced under COBOL Standard rules can be referenced. |
RULES | New option in Enterprise COBOL V5.2. It requests information about your program from the compiler to improve the program by flagging certain types of source code at compile time. |
SERVICE | New option in Enterprise COBOL V5.2. It places a string in the object module if the object module is generated. |
SQLIMS | New
option. It enables the new IMS SQL
coprocessor (called SQL statement coprocessor by IMS). The new coprocessor handles your source
programs that contain embedded SQLIMS statements. Originally, Enterprise COBOL V5.1 at base level did not have the SQLIMS option; but with current service applied, V5.1 is like V5.2 and now has the SQLIMS option. |
STGOPT | New
option. It controls storage optimization. NOSTGOPT is the default. In Enterprise COBOL V5.1, V5.2, and V6.1, data items can get optimized with OPT(2) even when NOSTGOPT was in effect. NOSTGOPT was changed in Enterprise COBOL V6.1 with the service PTFs and V6.2, so that no optimization of storage or data items occurs even with OPT(2). This is especially helpful for WORKING-STORAGE eye-catchers |
VLR | New
option. It affects the READ statement processing of variable length
records that have length conflicts. ![]() ![]() Originally, Enterprise COBOL V5.1 at base level did not have the VLR option and had some migration issues; but with current service applied, V5.1 is like V5.2 and now has the VLR option. For details, see Variable length records - wrong length READ. |
XMLPARSE | New
option. It enables you to choose between parsing with the compatibility-mode
COBOL XML parser from the COBOL library, or with the z/OS XML System Services parser. It can ease
your migration to the Enterprise COBOL V5 or V6 compilers. XMLPARSE(XMLSS)
is the default. Originally, Enterprise COBOL V5.1 at base level did not have the XMLPARSE option and had some migration issues; but with current service applied, V5.1 is like V5.2 and now has the XMLPARSE option. |
ZONECHECK | New
option in Enterprise COBOL V5.2
with the PTFs for APAR PI40822 installed. It tells the compiler to
generate IF NUMERIC class tests for zoned decimal data items that
are used as sending data items.
|
ZONEDATA | New
option in Enterprise COBOL V5.2.
It tells the compiler whether data in USAGE DISPLAY ![]() ![]() Originally, Enterprise COBOL V5.2 at base level did not have the NOPFD suboption. In V5.2 with the PTF for APAR PI40853 installed, the NOPFD suboption is added to let the compiler generate code that performs comparisons of zoned decimal data in the same manner as COBOL V4 does when using NUMPROC(NOPFD|PFD) in COBOL V4. To ease your migration to COBOL V5 or V6:
|
Compiler option | Comments |
---|---|
![]() ![]() |
![]() PDSE (or PDS )
dataset or z/OS UNIX directory
as an additional location to be searched for copy members during the
library phase.![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() SIZE
ERROR checking for binary data items.![]() |
![]() ![]() |
![]() ![]() |
SUPPRESS | New option in Enterprise COBOL V6.1. It controls whether to ignore the SUPPRESS phrase of COPY statements. |
VSAMOPENFS | New option in Enterprise COBOL V6.1. It affects the user file status reported from successful VSAM OPEN statements that require verified file integrity check. |
The following options are modified:
Compiler option | Comments |
---|---|
EXIT | The EXIT compiler option is no longer mutually exclusive with the DUMP compiler option, and the compiler exits rules are updated. |
MAP | New suboptions
HEX and DEC are added to the MAP compiler option to control whether
hexadecimal or decimal offsets are shown for MAP output in the compiler
listing. Previous versions of Enterprise COBOL always showed hexadecimal offsets in MAP output, but Enterprise COBOL V5.1 originally always showed decimal offsets for MAP output. Enterprise COBOL V5.1 was changed via service to have new suboptions HEX and DEC to the MAP option. Enterprise COBOL V5.2 and V6 has both new MAP suboptions as well. In V5.1 with service and V5.2 or V6 compilers, if MAP is specified with no suboption, it will be accepted as MAP(HEX). This will give you the same behavior in Enterprise COBOL V5 or V6 as in earlier COBOL compilers. Thus, it can ease your migration to Enterprise COBOL V5 or V6 compilers. |
MDECK | The MDECK option no longer has a dependency on the LIB option, as the compiler behaves as though the LIB option is always enabled. |
NORENT | NORENT
can no longer be used with RMODE(ANY). Execution of NORENT programs above the 16 MB line is not supported. |
![]() ![]() |
![]() ![]() |
OPTIMIZE | The
OPTIMIZE option is modified to allow more levels of performance optimization
for your application. The previous OPTIMIZE option format is deprecated
but is tolerated for compatibility. Note: Although OPT(0) is equivalent
to the NOOPTIMIZE option in previous compilers, it now removes some
code that previously was not removed.
The storage optimization provided by the old FULL suboption of OPT is now provided by the new compiler option STGOPT. |
RMODE(ANY) | RMODE(ANY) can no longer be used with NORENT. |
SSRANGE | The compiled-in range checks
cannot be disabled at run time using the runtime options CHECK(OFF)
or NOSSRANGE. New suboptions ZLEN and NOZLEN are added to the SSRANGE compiler option in V5.2 with the service PTFs and V6 to control how the compiler checks reference modification lengths.
Note: The compiler option NOSSRANGE is still supported.
|
TEST |
|
Compiler option | Comments |
---|---|
![]() ![]() |
![]()
![]() |
![]() ![]() |
![]()
![]() |
![]() ![]() |
![]() ![]()
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]()
![]() |
![]() ![]() |
![]() ![]() |
TEST | In Enterprise COBOL V6.2, new suboptions SEPARATE and NOSEPARATE are added to the TEST compiler option to control program object size on disk while retaining debugging capability. In addition, new combinations of suboptions are supported in both the TEST and NOTEST compiler options, including TEST(NODWARF), TEST(SEPARATE), and NOTEST(DWARF,SOURCE). |
LANGUAGE | To change to uppercase English or Japanese compiler messages in COBOL V6, in addition to using the LANGUAGE compiler option, you must also set the Language Environment® runtime option NATLANG at compile time. We recommend using CEEOPTS DD in the compile JCL. For example,
to change messages to Japanese, use the LANGUAGE(JA) compiler option
and also specify the NATLANG LE runtime option at compile time:
|
The following options are removed:
Compiler option | Comments |
---|---|
DATEPROC | Support for Year 2000 extensions has been removed. |
NOLIB | Compiler behaves as though LIB is always in effect. |
NUMPROC(MIG) | NUMPROC(PFD) and NUMPROC(NOPFD) are still available. If NUMPROC(MIG) is specified, Enterprise COBOL V5 or V6 issues a warning message and the compilation will get the default setting for NUMPROC. This is either the user-customized default or the IBM® default, which is NUMPROC(NOPFD). To
migrate your programs compiled with NUMPROC(MIG) to Enterprise COBOL V6, consider
using the
![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]()
|
SIZE |
|
YEARWINDOW | Support for Year 2000 extensions has been removed. |
![]() ![]() |
![]() ![]() |
Compiler option | Comments |
---|---|
LVLINFO | Installation option removed. The build level information is put where LVLINFO used to be, and the SERVICE compiler option can be used for user service level information in place of LVLINFO. |
![]() ![]() |
![]() ![]() |
CMPR2
- EVENTS
- FDUMP
- FLAGSAA
- PFDSIGN
- RES
For a detailed list of options supported for the various compiler versions, see Option comparison.
For detailed descriptions of all options, see the Enterprise COBOL Programming Guide.