| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| // Clang used to crash trying to recover while adding 'this->' before Work(x); | |
| template <typename> struct A { | |
| static void Work(int); // expected-note{{must qualify identifier}} | |
| }; | |
| template <typename T> struct B : public A<T> { | |
| template <typename T2> B(T2 x) { | |
| Work(x); // expected-error{{use of undeclared identifier}} | |
| } | |
| }; | |
| void Test() { | |
| B<int> b(0); // expected-note{{in instantiation of function template}} | |
| } | |