Fixes are available
November 2009 PTF for XL C/C++ for AIX, V10.1
October 2010 PTF for XL C/C++ for AIX, V10.1
May 2012 PTF for XL C/C++ for AIX, V10.1
January 2013 PTF for XL C/C++ for AIX, V10.1
XL C/C++ for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 21 (October 2015 PTF) for 10.1
August 2009 PTF for XL C/C++ for AIX, V10.1
March 2010 PTF for XL C/C++ for AIX, V10.1
April 2010 PTF for XL C/C++ for AIX, V10.1
June 2010 PTF for XL C/C++ for AIX, V10.1
May 2011 PTF for XL C/C++ for AIX, V10.1
October 2011 PTF for XL C/C++ for AIX, V10.1
February 2012 PTF for XL C/C++ for AIX, V10.1
September 2012 PTF for XL C/C++ for AIX, V10.1
February 2009 PTF for XL C/C++ for AIX, V10.1
May 2009 PTF for XL C/C++ for AIX, V10.1
XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1
APAR status
Closed as program error.
Error description
The test case: -- a.C -- struct Char { Char(); Char(const Char&); ~Char(); }; bool foo(Char&); inline const Char trans() { Char theResult; foo(theResult); return theResult; } void bar(); void * openFile() { const Char result(trans()); bar(); return 0; } -- a.C -- is generating a SYM for theResult after inlining into openFile().
Local fix
N/A
Problem summary
This issue possibly affects code that throws an exception. A test case cannot seem to be deduced that will actually cause a problem in real life code. This can only be seen when reading the exception handling tables. The problem was because the state tablry contains a reference to a variable that was removed as a result of the named return value optimzations.
Problem conclusion
The parameter inliner should no longer check for a name match of the class return value, but check if the parameter has a specific flag set.
Temporary fix
Comments
APAR Information
APAR number
IZ37130
Reported component name
XL C++ AIX
Reported component ID
5724U8100
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-11-11
Closed date
2009-01-23
Last modified date
2009-02-12
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++ AIX
Fixed component ID
5724U8100
Applicable component levels
Document Information
Modified date:
04 October 2021