Fixes are available
APAR status
Closed as program error.
Error description
The compiler generates an incorrect template message for the following test case: =====Compile Command: xlC -c b.cc =====Testcase: $cat b.cc template <int, int> struct Tensor {}; template <int dim> class Tensor<0,dim> {}; template <int dim> struct X { template <int spacedim> void foo (Tensor<spacedim-dim,spacedim>) {} }; template void X<1>::foo (Tensor<1-1,1>); $ =====Action Output: $xlC -c b.cc "b.cc", line 10.21: 1540-0288 (S) The function template parameter of type "Tensor<spacedim-(int) (1),spacedim>" cannot be initialized with an argument of type "Tensor<0,1>". $ =====Expected Output: Should compile without any errors.
Local fix
n/a
Problem summary
USERS AFFECTED: The problem may be seen where a non-type template argument is used in a non-deduced context before arguments using it in a deducable context. PROBLEM DESCRIPTION: The use of a non-type template argument in a non-deduced context was stopping argument deduction in later arguments.
Problem conclusion
The above compiler problem has been resolved.
Temporary fix
Comments
APAR Information
APAR number
LI76792
Reported component name
XL C/C++ FOR LI
Reported component ID
5724X1400
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-05-24
Closed date
2012-05-24
Last modified date
2012-05-24
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 LI
Fixed component ID
5724X1400
Applicable component levels
RB10 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B10","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
17 October 2021