Fixes are available
April 2013 Update for XL C/C++ for Linux, V12.1
XL C/C++ for Linux Fix Pack 8 (October 2015 Update) for 12.1
XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 5 (December 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 6 (February 2014 Update) for 12.1
XL C/C++ for Linux Fix Pack 7 (May 2014 Update) for 12.1
APAR status
Closed as program error.
Error description
Instantiating a template using a type that was created with typedef is causing the compiler to encounter an internal compiler error. ===== TEST CASE ===== template< typename T, typename TypeDefType = typename T::typedeftype, TypeDefType (T::*Val)() = &T::val > struct myStruct { static TypeDefType run( T & g ) { TypeDefType n = (g.*Val)(); return n; } }; class A {}; class B { public: typedef A * typedeftype; A * val() { } }; void set(...); void test() { typedef B C; set(&myStruct<C>::run); } $ xlC -c test.cpp xlC: 1501-230 (S) Internal compiler error; please contact your Service Representative. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810 $
Local fix
N/A
Problem summary
PROBLEM DESCRIPTION: Templates instantiated using a local typedef when the local typedef is out of scope at the point of instantiation. USERS AFFECTED: The problem is specific to the case where a template is implicitly instantiated with a local typedef.
Problem conclusion
The problem has been resolved.
Temporary fix
Comments
APAR Information
APAR number
LI77340
Reported component name
XL C/C++ FOR LI
Reported component ID
5725C7300
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-04-27
Closed date
2013-04-27
Last modified date
2013-04-27
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 LI
Fixed component ID
5725C7300
Applicable component levels
RC10 PSN IV33368
UP06/09/13
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
14 October 2021