1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | |
3 | template <typename A, typedef B> struct Foo { |
4 | // expected-error@-1 {{expected template parameter}} expected-note@-1 {{did you mean to use 'typename'?}} |
5 | |
6 | // Check that we are speculatively (with fixit applied) trying to parse the rest. |
7 | |
8 | // Should not produce error about type since parsing speculatively with fixit applied. |
9 | B member; |
10 | |
11 | a // expected-error {{unknown type name 'a'}} // expected-error@+1 {{expected member name or ';' after declaration specifiers}} |
12 | }; |
13 | |
14 | |
15 | // RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s |
16 | // CHECK: fix-it:{{.*}}:{3:23-3:30}:"typename" |
17 | |