A fix is available
APAR status
Closed as program error.
Error description
Third party debuggers like Xpediter depend on OPT(0) compiles not rearranging code. The use of NUMCHECK is causing a MOVE statement to be split into two parts, one under the MOVE statement number, and the rest under a later statement, even at OPT(0).
Local fix
Compile with NONUMCHECK
Problem summary
**************************************************************** * USERS AFFECTED: Users of IBM Enterprise COBOL 6.2 compiling * * programs with NUMCHECK and OPT(0). * **************************************************************** * PROBLEM DESCRIPTION: The compiler may generate instructions * * that have a line number that is out of * * order with the line numbers of * * surrounding instructions. * **************************************************************** * RECOMMENDATION: Apply the provided PTF, * **************************************************************** The compiler's internal representation of a program makes frequent reference to the base address of WORKING-STORAGE, which is permanently in register R9. The compiler initially generates NUMCHECK checks for all affected senders and then runs analysis to remove checks of known good data, known bad data, or of values that have already been checked. Removing such checks caused the compiler to keep references to the base address of WORKING-STORAGE and generate an instruction for the first time any such reference was found. As references to the base address of WORKING-STORAGE could be spread throughout the program, this unneeded instruction would have the line number of the first reference to the base address of WORKING-STORAGE but might be generated much later in the program, making the instruction out of order.
Problem conclusion
The compiler was fixed to avoid generating the unnecessary instruction. "202106_62_work_sheet.txt" 503 lines, 24422 characters
Temporary fix
Comments
APAR Information
APAR number
PH38137
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
620
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-06-15
Closed date
2021-06-16
Last modified date
2021-07-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCASMB IGYCCBE IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D IGYCJA$R IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPT IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV IGYEQCWI IGYMSGE IGYMSGK IGYMSGT IGYQCBE IGYZQDRV IGYZQENU IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R620 PSY UI75921
UP21/06/24 P F106
R621 PSY UI75922
UP21/06/24 P F106
R622 PSY UI75923
UP21/06/24 P F106
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023