A fix is available
APAR status
Closed as program error.
Error description
USERS AFFECTED: Users of Enterprise COBOL V6.x compiling programs with OPT(1|2) that contain a COMPUTE or DIVIDE statement where the divisor is PIC 9(5) through 9(9) and has a value of 0, and is either COMP-5, or is COMP and TRUNC(BIN) is specified. RECOMMENDATION TO CUSTOMER: Apply the provided PTF PROBLEM SUMMARY: Binary divisions by powers of 2 can be changed to a right shift, which is better for performance. The compiler was making this change, for 32-bit BINARY data items, even when the divisor was 0, which replaced a division operation with a shift, avoiding the expected S0C9 abend. CONCLUSION: The compiler was fixed to not turn binary divisions into shifts when the divisor was 0.
Local fix
Compile at OPT(0)
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.1 compiling * * programs with OPT(1|2) that contain a * * COMPUTE or DIVIDE statement where the * * divisor is PIC 9(5) through 9(9) and has a * * value of 0, and is either COMP-5, or is * * COMP and TRUNC(BIN) is specified. * **************************************************************** * PROBLEM DESCRIPTION: The program does not have a S0C9 abend * * when executing the code for the DIVIDE * * statement. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** Binary divisions by powers of 2 can be changed to a right shift, which is better for performance. The compiler was making this change, for 32-bit BINARY data items, even when the divisor was 0, which replaced a division operation with a shift, avoiding the expected S0C9 abend.
Problem conclusion
The compiler was fixed to not turn binary divisions into shifts when the divisor was 0.
Temporary fix
Comments
APAR Information
APAR number
PH26112
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-06-04
Closed date
2020-06-16
Last modified date
2020-07-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCCBE 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 IGYCOB2 IGYCOPI 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
R610 PSY UI70077
UP20/06/23 P F006
R611 PSY UI70078
UP20/06/23 P F006
R612 PSY UI70079
UP20/06/23 P F006
R61H PSY UI70080
UP20/06/23 P F006
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":"6.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023