The compiler also detects some incorrect coding that the previous compilers tolerated or ignored. For example, previous versions of the compiler
The product is packaged as a small number of large PROGRAM elements for SMP/E purposes. This means that rather than individual CSECTs being updated by maintenance, the whole load module is replaced. In spite of this, the compiler support people appear to be able to address problems in a timely fashion.
Some hardware conditions that could previously be bypassed using condition prefixes can no longer be disabled, for example ZERODIVIDE. This is not mentioned in the Migration Guide since the documentation for previous releases describes this situation as a programming error.
On older hardware without additional floating point registers, the compiler default of FLOAT(AFP) may result in more CPU-intensive code since this feature will be emulated in software by trapping the failed instructions.
The new compiler no longer supports output to a PDS or PDS/E dataset. Some existing procedures may need to be updated.
Compile-time options added by APAR are not shown in the OPTIONS list until the next release of the product. For example, on release 3.2, you can specify NOBLKOFF so that offsets in the object listing are from the base of the module. However, this option does not appear in the OPTIONS listing at that version of the compiler so it is difficult to detect the current setting or determine the existence of this option.