Skip to main content

LI77065: TEMPLATE PARAMETER CANNOT BE INITIALIZED


Subscribe

You can track all active APARs for this component.

 

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

    LI77065

  • Reported component name

    XL C/C++ FOR BG

  • Reported component ID

    5799AG100

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-23

  • Closed date

    2012-11-23

  • Last modified date

    2012-11-23

  • APAR is sysrouted FROM one or more of the following:

    IV19832

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C/C++ FOR BG

  • Fixed component ID

    5799AG100

Applicable component levels

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

XL C/C++ for Blue Gene/Q

Compiler


Software version:
12.1


Reference #:
LI77065


Modified date:
2012-11-23

Translate my page

Content navigation