IBM Support

PH20127: In some circumstances the optimizer erroneously maps distinct intermediate results to the same compiler temporary variable

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • To reduce memory usage, the optimizer will reuse compiler
    temporary variables. In some cases, such as the result of
    alphanumeric functions in an expression like
    
            if function upper-case(string1(i:1)) =
               function upper-case(string2(i:1))
    
    the same temporary variable is incorrectly used for both
    function instances, with the result that the expression is never
    true.
    

Local fix

  • Compile at OPT(0).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling     *
    *                 programs that compare the result of two      *
    *                 FUNCTIONs in the same statement.             *
    ****************************************************************
    * PROBLEM DESCRIPTION: The comparison may always treat the two *
    *                      results as equal.                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    The compiler initially assigns a unique temporary when a
    FUNCTION produces a result, as well as in many other cases. To
    reduce the overall number of temps, the compiler reuses temps
    that aren't used at the same time in the same statement. When
    mapping temps, the compiler wasn't correctly identifying temps
    used for the result of some FUNCTIONs as being used in the same
    statement.
    

Problem conclusion

  • The compiler was fixed to recognize temps used for FUNCTION
    results in the same statement and avoid mapping them to the
    same temp.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH20127

  • 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

    2019-12-10

  • Closed date

    2020-02-13

  • Last modified date

    2020-03-02

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

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

    PH21000

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 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 UI67889

       UP20/02/22 P F002

  • R621 PSY UI67890

       UP20/02/22 P F002

  • R622 PSY UI67891

       UP20/02/22 P F002

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