Fixes are available
XL C/C++ for Linux Fix Pack 9 (August 2013 Update) for 11.1
April 2011 Update for XL C/C++ for Linux, V11.1
July 2011 Update for XL C/C++ for Linux, V11.1
October 2011 Update for XL C/C++ for Linux, V11.1
June 2012 Update for XL C/C++ for Linux, V11.1
October 2012 Update for XL C/C++ for Linux, V11.1
XL C/C++ for Linux Fix Pack 8 (June 2013 Update) for 11.1
APAR status
Closed as program error.
Error description
template assignment operator calls itself recursively in the example below leading to segfault at runtime. ///////////////////// test.cpp ////////////////////// template<typename First> struct Base { template<typename OtherFirst> First& operator=(const Base<OtherFirst>& other) { } inline First& operator=(const Base& other) { return operator=<First>(other); } }; int main() { Base<int> a; a = Base<int>(); return 0; } ////////////////// end of test.cpp ////////////////////// $xlC test.cpp $./a.out Segmentation fault (core dumped)
Local fix
N/A
Problem summary
Assignment operator call with explicit template args may invoke incorrect function
Problem conclusion
The problem is isolated to the FE and a fix has been dropped.
Temporary fix
Comments
APAR Information
APAR number
LI76112
Reported component name
XL C/C++ FOR LI
Reported component ID
5724X1400
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2011-04-27
Closed date
2011-04-27
Last modified date
2011-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
5724X1400
Applicable component levels
RB10 PSN LI75770
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":"B10","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
17 October 2021