Fixes are available
XL C/C++ for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 8 (March 2014 PTF) for 12.1
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 6 (December 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) 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
An explicit template instantiation of a template that uses a typedef of a pointer to a type, defined within a template parameter to the template is encountering a compiler error. ===== TEST CASE ===== struct X { X() : y(123) {} int y; }; struct XX { typedef int X::* Type; }; template <typename T, typename T::Type value> struct MyStruct { typename Name::Type getValue(T) { return value; } }; template class MyStruct<XX, &X::y>; $ xlC -c test.cpp "test.cpp", line 19.29: 1540-1122 (S) A non-type template parameter cannot have type "int X::*". $
Local fix
N/A
Problem summary
PROBLEM DESCRIPTION: The compiler was not unwinding a typedef causing a mismatch on an argument and non-type parameter. USERS AFFECTED: The problem is specific to template dependent non-type template parameters instantiated with a typedef. The compiler may emit a message that the argument is not valid.
Problem conclusion
The problem has been fixed.
Temporary fix
Comments
APAR Information
APAR number
IV36541
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
2013-02-11
Closed date
2013-06-17
Last modified date
2013-06-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
RC10 PSY UP
C
Document Information
Modified date:
21 August 2024