Fixes are available
APAR status
Closed as program error.
Error description
Two identical template functions that differ only by an extra whitespace character are treated by the compiler as two separate template declarations. The mangled names of both functions are the same, causing an error. === EXAMPLE === void MyClass<unsigned long,Update>::func() void MyClass<unsigned long, Update>::func() 1540-0704 (S) The definitions of "void MyClass<unsigned long,Update>::func()" and "void MyClass<unsigned long, Update>::func()" have the same linkage signature "_ZN7MyClassIm6UpdateE4funcEv".
Local fix
N/A
Problem summary
USERS AFFECTED: The problem may be seen with functions containing template arguments inside inside the function arguments PROBLEM DESCRIPTION: The compiler incorrectly created 2 declarations of the same which causes issues with name mangling and overload resolution
Problem conclusion
This issue has now been fixed
Temporary fix
Comments
APAR Information
APAR number
IV98017
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
2017-07-13
Closed date
2019-12-10
Last modified date
2019-12-10
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
[{"Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1"}]
Document Information
Modified date:
02 October 2021