Clang Project

clang_source_code/test/FixIt/fixit-typedef-instead-of-typename-typo.cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3template <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