Fixes are available
APAR status
Closed as program error.
Error description
The following test case produces a template argumemt miss-match when it shouldn't. ===== Compile Command: bgxlC_r -c simple.cpp ===== TESTCASE: $cat test.cpp template<typename T,typename Int=int> class Foo; template<typename T> class Foo<T> { public: void Bar() const; }; template<typename T> void Foo<T>::Bar() const {} int main( int argc, char* argv[] ) { Foo<double> foo; foo.Bar(); return 0; } $ ===== ACTUAL OUTPUT: $bgxlC_r -c test.cpp "test.cpp", line 14.6: 1540-0708 (S) The template argument 2 does not match the corresponding template parameter of "template class Foo". ===== EXPECTED OUTPUT: Should compile clean
Local fix
n/a
Problem summary
USERS AFFECTED: The problem may be seen when a member of a partial specialization is defined out-of-line and the specialization uses a default template parameter argument. PROBLEM DESCRIPTION: Incorrect name lookup results in bad argument mismatch error.
Problem conclusion
The compiler has been resolved to take care of the above case.
Temporary fix
Comments
APAR Information
APAR number
LI76892
Reported component name
XL C/C++ RHEL52
Reported component ID
5724U8310
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-07-16
Closed date
2012-07-16
Last modified date
2012-07-23
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++ RHEL52
Fixed component ID
5724U8310
Applicable component levels
RA10 PSN LI76589
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
16 October 2021