IBM Support

PI97625: AT OPT(1/2), THE OFFSETS FROM R8 IN A CLC INSTRUCTION ARE IDENTICAL FOR AN IF STATEMENT WITH MULTIPLE ANDS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • At OPT(1/2), the offsets from R8 in a CLC instruction are
    identical for an IF statement with multiple ANDs, which
    erroneously compares the data item in working storage to itself.
    This problem does not occur at OPT(0).
    

Local fix

  • Compile with OPT(0).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling     *
    *                 programs at OPT(1|2) that MOVE a data item   *
    *                 to another with identical picture clause,    *
    *                 change the value of the sender, and then     *
    *                 compare two or more pairs of data items in   *
    *                 one IF statement, including the receiver of  *
    *                 the MOVE, such that by replacing the         *
    *                 receiver with the sender, the data items     *
    *                 used in the IF statement form two            *
    *                 contiguous sets of data items.               *
    ****************************************************************
    * PROBLEM DESCRIPTION: The compiler was combining comparisons  *
    *                      of several individual contiguous items  *
    *                      (including the receiver of the MOVE)    *
    *                      into one larger compare. It was         *
    *                      replacing the receiver with the         *
    *                      sender, although the value of the       *
    *                      sender had been changed between the     *
    *                      MOVE and IF. The IF statement could     *
    *                      produce an incorrect result.            *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When combining several comparisons into one, the compiler was
    replacing a receiver with its corresponding sender without
    ensuring that the sender wasn't modified between the MOVE and
    IF.
    

Problem conclusion

  • The compiler was fixed to only combine several comparisons into
    one if all senders of previous MOVEs weren't modified before
    the IF statement.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI97625

  • 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

    2018-05-04

  • Closed date

    2018-05-28

  • Last modified date

    2018-06-04

  • APAR is sysrouted FROM one or more of the following:

    PI94623

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCDOPT 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  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 UI56120

       UP18/06/01 P F805

  • R621 PSY UI56121

       UP18/06/01 P F805

  • R622 PSY UI56122

       UP18/06/01 P F805

  • R62H PSY UI56123

       UP18/06/01 P F805

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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023