blob: b5a0e1fa13f27b7efbdffbbc98923aee3b53338f [file] [log] [blame]
Nick Lewyckyfe712382010-08-20 20:54:15 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
2
Nico Weber3c10fb12012-06-22 16:39:39 +00003// Clang used to crash trying to recover while adding 'this->' before Work(x);
Nick Lewyckyfe712382010-08-20 20:54:15 +00004
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
Richard Smithccf01512013-07-22 18:09:32 +000019
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}