IBM Support

PH21000: 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.3 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

    PH21000

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-01-14

  • Closed date

    2020-01-21

  • Last modified date

    2020-02-04

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

    PH20127

  • 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 IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2
    IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2E 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  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI67474

       UP20/01/24 P F001

  • R631 PSY UI67475

       UP20/01/24 P F001

  • R632 PSY UI67476

       UP20/01/24 P F001

  • R63H PSY UI67477

       UP20/01/24 P F001

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":"630","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023