IBM Support

LI78531: INTERNAL COMPILER ERROR WITH DOUBLE VALUE CAST

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as fixed if next.

Error description

  • An internal compiler error is encountered when compiling with
    optimization and qarch=pwr7 and above, when generating a double
    value using a string and a cast:
    
        p1.x = (*((double*)"\xff\xff\xfe\0\0\0\0"));
    
    
    
       === TEST CASE ===
    
    struct StructA
    {
       double x, y;
    };
    
    struct StructB
    {
       struct StructA l;
       struct StructA r;
    };
    
    int my_func()
    {
      struct StructA  p1, p2;
       struct StructB  p3;
       char   my_char;
    
      p1.x = (*((double*)"\xff\xff\xfe\0\0\0\0"));
      p1.y = (*((double*)"\xff\xff\xfe\0\0\0\0"));
      my_char = (char) some_func( &p3, &p1, &p2, 1 );
    }
    
    
    > xlc_r apar.c -O2 -qhot=level=1 -c -qarch=pwr8
        1500-004: (U) INTERNAL COMPILER ERROR while compiling
    my_func.  Compilation ended.  Contact your Service
    Representative and provide the following information: Internal
    abort. For more information visit:
    http://www.ibm.com/support/docview.wss?uid=swg21110810
    1586-346 (U) An error occurred during code generation.  The code
    generation return code was 1.
    >
    

Local fix

  • - Use lower arch level
    - Generate value using different method
    

Problem summary

  • Fix is available in the next release of the compiler, XL C/C++
    for AIX, V13.1.2.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    LI78531

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    D11

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-03-27

  • Closed date

    2015-08-11

  • Last modified date

    2015-08-11

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

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

    IV72845

Fix information

  • Fixed component name

    XL C/C++ LINUX

  • Fixed component ID

    5725C7310

Applicable component levels

  • RD11 PSY

       UP

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

Document Information

Modified date:
11 August 2015