Fixes are available
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
Instead of the expected type of "void (*)()", the compiler is using the exception-specification as part of the function's signature as "void (*)() throw()". This can cause errors with template usage when a function with an exception-specification is used as a template type parameter. ==== TESTCASE ==== void f(T sth) { typedef T t; } void zzz() throw() {} int main( int argc, char **argv ) { f(&zzz); return 0; } "test.cpp", line 3.19: 1540-1139 (S) An exception-specification can appear only in a function or pointer declaration. "test.cpp", line 2.6: 1540-0700 (I) The previous message was produced while processing "f<void (*)() throw()>(void (*)() throw())". "test.cpp", line 7.9: 1540-0700 (I) The previous message was produced while processing "main(int, char **)".
Local fix
Remove exception-specification from function.
Problem summary
PROBLEM DESCRIPTION: Exception specification included during template argument deduction. USERS AFFECTED: The problem will appear if a user instantiates a template parameter with a function type containing an exception specification.
Problem conclusion
The problem has been resolved.
Temporary fix
Comments
APAR Information
APAR number
IV25284
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-07-26
Closed date
2012-10-03
Last modified date
2012-10-03
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 PSY U855106
UP A
Document Information
Modified date:
03 October 2012