IBM Support

LI80470: EXTENDED INITIALIZER LIST NOT SUPPORTED

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • The XL C/C++ for Linux, V16.1.1.1 compiler produces an error
    message when trying to compile the provided test case:
    
    $ cat xl_init_errors.cpp
    #include <stdio.h>
    
    struct s
    {
      int m[2][2] = {{0}};
    };
    
    typedef int matrix[2][2];
    struct t
    {
      matrix m{};
    };
    
    struct u
    {
      int m[2][2] = {{0,0}, {0,0}};
    };
    
    int main()
    {
      s s;
      t t;
      u u;
      printf("%d %d %d %d\n", s.m[0][0], s.m[0][1], s.m[1][0],
    s.m[1][1]);
      printf("%d %d %d %d\n", t.m[0][0], t.m[0][1], t.m[1][0],
    t.m[1][1]);
      printf("%d %d %d %d\n", u.m[0][0], u.m[0][1], u.m[1][0],
    u.m[1][1]);
      return 0;
    }
    $ xlc++ -std=c++11 xl_init_errors.cpp
    xl_init_errors.cpp:5:17: error: 1540-2991 The expression is not
    supported.
      int m[2][2] = {{0}};
                    ^
    1 error generated.
    Error while processing xl_init_errors.cpp.
    $
    
    ===== EXPECTED OUTPUT:
    Should compile clean
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Users who have test cases that make use of the extended
    initializer list feature
    of the C++ Standard are affected by this issue.
    
    PROBLEM DESCRIPTION:
    The compiler was incorrectly processing extended initializer
    lists.
    

Problem conclusion

  • The issue has been fixed in the compiler.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI80470

  • Reported component name

    XL C/C++ LINUX

  • Reported component ID

    5725C7310

  • Reported release

    G11

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-02-05

  • Closed date

    2019-02-06

  • Last modified date

    2019-02-06

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

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

    IJ14859

Fix information

  • Fixed component name

    XL C/C++ LINUX

  • Fixed component ID

    5725C7310

Applicable component levels



Document information

More support for: XL C/C++ for Linux

Software version: G11

Reference #: LI80470

Modified date: 06 February 2019