Fixes are available
April 2012 PTF for XL C/C++ for AIX, V11.1
July 2012 PTF for XL C/C++ for AIX, V11.1
October 2012 PTF for XL C/C++ for AIX, V11.1
February 2013 PTF for XL C/C++ for AIX, V11.1
XL C/C++ for AIX Fix Pack 14 (May 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 15 (August 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 16 (November 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 17 (February 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 18 (May 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 19 (August 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 20 (November 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 21 (April 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 22 (September 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 23 (March 2016 PTF) for 11.1
XL C/C++ for AIX Fix Pack 24 (September 2016 PTF) for 11.1
APAR status
Closed as program error.
Error description
Consider the following testcase: $cat test.cpp ////////////// test.cpp ////////////////// extern double sin (double __x) throw (); template <class A> struct vector{}; template <typename T> struct myfunc { myfunc() {} template <typename functionT> myfunc(double small, double big, int abc, const functionT &f){}; myfunc(double small, double big, int abc, const vector<T> &y){} }; double func(double x) { return sin(x); } int main() { myfunc<double> fit(5.0,15.0,12345,func); return 0; } The problem can be reproduced at compile time with the following command: $xlC -c test.cpp "test.cpp", line 19.20: 1540-0218 (S) The call does not match any parameter list for "myfunc<double>::myfunc<double>". "test.cpp", line 7.4: 1540-1283 (I) "myfunc<double>::myfunc()" is not a viable candidate. "test.cpp", line 19.20: 1540-0215 (I) The wrong number of arguments has been specified for "myfunc<double>::myfunc()". "test.cpp", line 9.4: 1540-1283 (I) "template myfunc<double>::myfunc(double, double, int, const functionT &)" is not a viable candidate. "test.cpp", line 9.4: 1540-1108 (I) "(double, double, int, double (&)(double) const)" is not a valid type. "test.cpp", line 19.20: 1540-0700 (I) The previous message was produced while processing "@ctor". "test.cpp", line 10.4: 1540-1283 (I) "myfunc<double>::myfunc(double, double, int, const vector<double> &)" is not a viable candidate. "test.cpp", line 19.39: 1540-0256 (I) A parameter of type "const vector<double> &" cannot be initialized with an expression of type "double (double)".
Local fix
N/A
Problem summary
Partially enable modifications for Issue 295 for gcc compatibility
Problem conclusion
Changes made under xflag option -qdebug=IgnoreCvOnTopOfFunctionTypes
Temporary fix
Comments
APAR Information
APAR number
IV18595
Reported component name
XL C/C++ AIX
Reported component ID
5724X1300
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-03-29
Closed date
2012-03-29
Last modified date
2012-03-29
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++ AIX
Fixed component ID
5724X1300
Applicable component levels
RB10 PSN U851438
UP06/09/13 C
Document Information
Modified date:
29 March 2012