// RUN: %clang_cc1 -fsyntax-only -verify %s template class TT> class A; // expected-note 3 {{template is declared here}} template class X; A * a1; A *a2; // expected-error{{too many template arguments for class template 'A'}} A *a3; // expected-error{{too few template arguments for class template 'A'}} A a4; // expected-error{{use of class template 'A' requires template arguments}} namespace test0 { template class foo {}; template class bar { bar(::test0::foo *ptr) {} // expected-error {{use of undeclared identifier 'tee'}} }; }