IBM Support

LI77141: INTERNAL COMPILER ERROR IN XLCENTRY AT -O0

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The compiler frontend (xlCentry) produces and internal compiler
    error when compiling the following test case at -O0.
    
    It works fine at -O2 or higher.
    
    
    ===== COMPILE COMMAND:
    bgxlC -c test.cpp -O0
    
    
    ===== TEST CASE:
    $ cat test.cpp
    struct A{
      _Complex double& operator()(int, int);
    };
    
    void f()
    {
       A a;
      ~a(0, 0);
    }
    $
    
    
    ===== ACTUAL OUTPUT:
    $ bgxlC -c test.cpp -O0
    /opt/ibmcmp/vacpp/bg/12.1/bin/.orig/bgxlC: 1501-230 (S) Internal
    compiler error; please contact your Service Representative. For
    more information visit:
    http://www.ibm.com/support/docview.wss?uid=swg21110810
    $
    
    
    ===== EXPECTED OUTPUT:
    Should compile clean without an internal compiler error.
    

Local fix

  • n/a
    

Problem summary

  • USERS AFFECTED:
    Users of complex operations who use references and optimization
    are affected by this issue.
    
    PROBLEM DESCRIPTION:
    The complex conjugate operator is not correctly processed when
    the operand is a C++ reference,
    which leads to an incorrect optimization that result in a
    compiler failure during code generation.
    Minimal TC:
    
    _Complex double& foo();
    void f() { ~foo(); }
    

Problem conclusion

  • The solution is to have the front-end correctly process
    references in the conjugate operator.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77141

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-12-17

  • Closed date

    2012-12-17

  • Last modified date

    2012-12-17

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

    LI76885

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

Fix information

  • Fixed component name

    XL C/C++ FOR LI

  • Fixed component ID

    5725C7300

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
14 October 2021