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:
Fix information
Fixed component name
XL C/C++ LINUX
Fixed component ID
5725C7310
Applicable component levels
[{"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":"G11","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
06 February 2019