Fixes are available
XL C/C++ for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C/C++ for AIX Fix Pack 21 (January 2019 Update) for 12.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
IV68542
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-01-14
Closed date
2015-02-26
Last modified date
2015-02-26
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
Document Information
Modified date:
19 August 2024