PM71320: INCORRECT IF STATEMENT WITH OPTIMIZE(2)

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • An IF statement is always being evaluated as TRUE when
    optimization level 2 is used.
    
    
         =====  TEST EXAMPLE  =====
    
     if (myValue > 0)
      myResult += myValue;
    
    
    Code generated by previous compiler:
    @1L98    DS       0H
             AL       r8,#SPILL21(,r13,320)
             LTR      r9,r9
             BNH      @1L68                   // BRANCH
             ST       r8,#SPILL21(,r13,320)
             B        @1L68
    
    
    
    Code now generated:
    @1L98    DS       0H
             LCR      r0,r8
             SRA      r0,31
             NR       r8,r0
             L        r1,#SPILL21(,r13,320)
             ALR      r1,r8
             ST       r1,#SPILL21(,r13,320)
             B        @1L68
    

Local fix

  • Do not use optimization.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of C/C++                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: Bad code gen for IF statement at O2     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Apply provided service.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM71320

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-21

  • Closed date

    2012-11-06

  • Last modified date

    2014-05-02

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

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

    UK83284

Modules/Macros

  •    CCNECICS CCNECWI  CCNEDSCT CCNEDWRT CCNED1D0
    CCNEFILT CCNEHIFC CCNEMDEP CCNEOPTP CCNEP    CCNEPP   CCNETBY
    CCNMSGE  CCNMSGT
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R780 PSY UK83284

       UP12/12/08 P F212

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.



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS family

Software version:

7.8

Operating system(s):

z/OS

Reference #:

PM71320

Modified date:

2014-05-02

Translate my page

Machine Translation

Content navigation