IBM Support

IV36541: EXPLICIT TEMPLATE NOT ACCEPTING "::*" TYPEDEF

Subscribe

You can track all active APARs for this component.

 

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:

    LI77373

Fix information

  • Fixed component name

    XL C/C++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

  • RC10 PSY UP

       C

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Edition":"","Line of Business":{"code":"LOB73","label":"Power TPS"}}]

Document Information

Modified date:
21 August 2024