A program that contains an out-of-line PERFORM, and either an EXIT PROGRAM
or GOBACK statement, will receive the following messages when compiled with
the CMPR2, FLAGMIG, and NOOPTIMIZE compiler options:
- IGYPA3205-W
- **MIGR** "EXIT PROGRAM" or "GOBACK" statements assume that ends of "PERFORM"
ranges were reached under the "NOCMPR2" compiler option. This program may
have different execution results after migration if used as a subprogram.
- IGYPA3206-W
- **MIGR** For more information about ends of "PERFORM" ranges, recompile
with the "OPTIMIZE" and "FLAGMIG" compiler options. If no messages about ends
of "PERFORM" ranges are issued, then this program will not have a migration
problem with ends of "PERFORM" ranges.
Upon re-compilation with the OPTIMIZE compiler option, the absence of any
such messages indicates that the program will not have any problem with an
EXIT PROGRAM or GOBACK statement being executed within the range of an out-of-line
PERFORM statement, while the presence of the following messages indicates
otherwise:
- IGYOP3205-W
- **MIGR** "EXIT PROGRAM" or "GOBACK" statements assume that ends of "PERFORM"
ranges were reached under the "NOCMPR2" compiler option. This program may
have different execution results after migration if used as a subprogram.
- IGYOP3092-W
- An "EXIT PROGRAM" or a "GOBACK" statement was encountered in the range
of the "PERFORM" statement at "PERFORM (LINE xx.xx)". Re-entry of the program
may cause unexpected control flow.