Fixes are available
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
LI76209
Reported component name
XL C/C++ RHEL52
Reported component ID
5724U8310
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-06-10
Closed date
2011-06-10
Last modified date
2011-06-10
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++ RHEL52
Fixed component ID
5724U8310
Applicable component levels
RA10 PSN LI75770
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
17 October 2021