Skip to main content

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

    2013-01-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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

z/OS family


Software version:
7.8


Operating system(s):
z/OS


Reference #:
PM71320


Modified date:
2013-01-02

Translate my page

Content navigation