Handling ineligible CSECTs

Although IBM® Automatic Binary Optimizer for z/OS® (ABO) only optimizes CSECTs generated by the compilers listed in the Eligible compilers section, ABO will tolerate modules containing CSECTs from other COBOL compilers and languages.

ABO examines each CSECT before optimization begins. If any of the conditions in the following table applies, the CSECT is not eligible for optimization, a message is issued and the CSECT is skipped. If at least one eligible CSECT for optimization is found in a module, any ineligible CSECTs are copied over unchanged to the target module along with the optimized CSECTs.
Table 1. Ineligible CSECTs and message issued
Ineligible CSECT Message issued
The CSECT name does not match the CSECT filter expression specified. See CSECT. BOZ4113I
The CSECT is generated from a language other than COBOL. For example, it is from HLASM, C/C++, or PL/I.

No specific message issued 1

The CSECT is not compiled by one of the eligible COBOL compilers. BOZ1455W
The CSECT is compiled by one of the eligible COBOL compilers, but it contains one or more unsupported COBOL statements listed in Summary of unsupported COBOL features. BOZ1455W
The CSECT is too complex for ABO to safely optimize and generate correct functioning code. BOZ1455W
The CSECT contains any unexpected data or code. This can include, but is not limited to, any missing, corrupted or other erroneous strings ABO relies on to properly understand the CSECT contents and perform correct optimizations. BOZ1455W
The CSECT has previously been optimized by ABO. BOZ1455W
1 The optimizer option SCAN=Y can be used to determine the types of CSECTs present in a module.