2009-02-10 07:23:08 +08:00
|
|
|
// RUN: clang -fsyntax-only -verify %s
|
|
|
|
template<typename T,
|
|
|
|
int I,
|
|
|
|
template<typename> class TT>
|
2009-02-12 02:16:40 +08:00
|
|
|
class A; // expected-note 2 {{template is declared here}}
|
2009-02-10 07:23:08 +08:00
|
|
|
|
|
|
|
template<typename> class X;
|
|
|
|
|
|
|
|
A<int, 0, X> * a1;
|
|
|
|
|
2009-02-12 00:16:59 +08:00
|
|
|
A<float, 1, X, double> *a2; // expected-error{{too many template arguments for class template 'A'}} \
|
|
|
|
// expected-error{{unqualified-id}}
|
|
|
|
A<float, 1> *a3; // expected-error{{too few template arguments for class template 'A'}} \
|
|
|
|
// expected-error{{unqualified-id}}
|