// RUN: clang-cc -fsyntax-only -verify %s template struct X; // expected-note{{template is declared here}} X *x1; X *x2; X<> *x3; // expected-error{{too few template arguments for class template 'X'}} template struct X; X<> *x4; template struct Z { }; template struct Z<>; // PR4362 template struct a { }; template<> struct a { static const bool v = true; }; template::v> struct p { }; // expected-error {{no member named 'v'}} template struct p; // expected-note {{in instantiation of default argument for 'p' required here}} template struct p;