1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3// Clang used to crash trying to recover while adding 'this->' before Work(x); 4 5template <typename> struct A { 6 static void Work(int); // expected-note{{must qualify identifier}} 7}; 8 9template <typename T> struct B : public A<T> { 10 template <typename T2> B(T2 x) { 11 Work(x); // expected-error{{use of undeclared identifier}} 12 } 13}; 14 15void Test() { 16 B<int> b(0); // expected-note{{in instantiation of function template}} 17} 18 19 20// Don't crash here. 21namespace PR16134 { 22 template <class P> struct S // expected-error {{expected ';'}} 23 template <> static S<Q>::f() // expected-error +{{}} 24} 25