Fixes are available
XL C/C++ for AIX Fix Pack 2 (December 2014 PTF) for 13.1
XL C/C++ for AIX Fix Pack 3 (April 2015 PTF) for 13.1
XL C/C++ for AIX Fix Pack 4 (July 2015 PTF) for 13.1
XL C/C++ for AIX Fix Pack 5 (November 2015 PTF) for 13.1
XL C/C++ for AIX Fix Pack 6 (February 2016 PTF) for 13.1
XL C/C++ for AIX Fix Pack 7 (May 2016 PTF) for 13.1
XL C/C++ for AIX Fix Pack 8 (August 2016 PTF) for 13.1
XL C/C++ for AIX Fix Pack 9 (June 2017 PTF) for 13.1
XL C/C++ for AIX Fix Pack 10 (February 2018 PTF) for 13.1
XL C/C++ for AIX Fix Pack 11 (November 2018 PTF) for 13.1
APAR status
Closed as program error.
Error description
The order that constructors are declared in a class is affecting constructor resolution for a constructor that accepts auto_ptr as a parameter. If the two constructor declarations in the following test case are swapped, the issues does not occur: === TEST CASE === #include <memory> class Test { public: Test(const Test&); Test(std::auto_ptr<int> func); }; std::auto_ptr<int> f(); void func() { Test test( f() ); } "test.cpp", line 14.8: 1540-1260 (S) An object of type "Test" cannot be constructed from an rvalue of type "std::auto_ptr<int>".
Local fix
Swap constructor order positioning.
Problem summary
PROBLEM DESCRIPTION: An internal cache in the compiler stores a set of conversions without user-defined conversions in the first pass. This limits the conversion sequences chosen in the second pass. USERS AFFECTED: Users with user-defined conversion sequence with an explicit copy constructor defined inside of the class.
Problem conclusion
The compiler now stores user-defined conversions in the internal cache. The issue is now resolved.
Temporary fix
Comments
APAR Information
APAR number
IV68019
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
D10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-12-17
Closed date
2014-12-17
Last modified date
2014-12-17
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 AI
Fixed component ID
5725C7200
Applicable component levels
RD10 PSY
Document Information
Modified date:
03 October 2021