IBM Support

IV72845: INTERNAL COMPILER ERROR WITH DOUBLE VALUE CAST

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

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

  • PROBLEM DESCRIPTION:
    Casted string literals used to set non-string values are not
    transformed correctly inside the compiler.
    
    USERS AFFECTED:
    Users who have casted string literals that may be used in a
    vectorized context (explicitly, or via optimizations by the
    compiler).
    

Problem conclusion

  • The issue has been corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV72845

  • Reported component name

    XL C FOR AIX

  • Reported component ID

    5725C7100

  • Reported release

    D10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-04-29

  • Closed date

    2015-04-29

  • Last modified date

    2015-04-29

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

    LI78531

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

Fix information

  • Fixed component name

    XL C FOR AIX

  • Fixed component ID

    5725C7100

Applicable component levels

  • RD10 PSY

       UP



Document information

More support for: XL C for AIX
Compiler

Software version: 13.1

Reference #: IV72845

Modified date: 29 April 2015