Fixes are available
XL C/C++ for Blue Gene/Q Fix Pack 12 (May 2015 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 14 (May 2016 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 15 (October 2017 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 5 (August 2013 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 6 (November 2013 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 7 (February 2014 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 8 (May 2014 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 9 (August 2014 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 10 (November 2014 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 11 (February 2015 Update) for 12.1
XL C/C++ for Blue Gene/Q Fix Pack 13 (August 2015 Update) for 12.1
APAR status
Closed as program error.
Error description
===== DESCRIPTION: The following test case produces an incorrect result when -O2 is used. Disabling inlining with -qnoinline avoids the issue. ========Testcase: $ cat test.cpp #include <cstdio> struct X { struct Y { int free() { x->y=NULL; return value; } int value; X* x; }; int pop() { return y->free(); } Y*y; }; int main() { X x; X::Y y; y.x=&x; y.value=8200; x.y=&y; printf("%d\n", x.pop()); } $ ===== ACTUAL OUTPUT: $ xlC -O2 test.cpp $ ./a.out 0 $ ===== EXPECTED OUTPUT: $ xlC -O2 test.cpp $ ./a.out 8200 $
Local fix
Use -qnoinline as a workaround.
Problem summary
TBD
Problem conclusion
TBD
Temporary fix
Comments
APAR Information
APAR number
LI77510
Reported component name
XL C/C++ FOR BG
Reported component ID
5799AG100
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-09-11
Closed date
2013-09-11
Last modified date
2013-09-11
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++ FOR BG
Fixed component ID
5799AG100
Applicable component levels
Document Information
Modified date:
05 September 2024