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 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
The below test case generates internal compiler error in xlCentry and cores during compilation. ===== TESTCASE: $cat test.cpp template <typename T> class Foo { }; namespace AA { class AnyX { }; } class AnyX : public AA::AnyX { class Placeholder : public AA::AnyX { }; Foo<int> foo; }; int main() { return 0; } $xlC -c test.cpp /usr/vacpp/bin/.orig/xlC: 1501-224 (S) fatal error in /usr/vacpp/exe/xlCentry: signal 11 received $
Local fix
Work around the problem by explicitly instantiating the template template <typename T> class Foo { }; template class Foo<int>; // this will prevent the problem namespace AA { class AnyX { }; } class AnyX : public AA::AnyX { class Placeholder : public AA::AnyX { }; Foo<int> foo; }; int main() { return 0; }
Problem summary
PROBLEM DESCRIPTION: Compiler enters loop with a class containing a data member which requires implicit instantiation when a member class has a base class with the same name as its containing class, but in a different namespace. USERS AFFECTED: The problem is very specific and will only be seen if a class A has a member class with a base class NS::A. After the definition of the member class, an implicit instantiation request may cause the compiler to enter a loop and crash.
Problem conclusion
The problem has been fixed.
Temporary fix
Comments
APAR Information
APAR number
LI77708
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-11-26
Closed date
2013-11-26
Last modified date
2013-11-26
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