1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 struct X {
4   template<typename T, typename U>
5   static void f(int, int);
6 };
7 
f()8 void f() {
9   void (*ptr)(int, int) = &X::f<int, int>;
10 
11   unknown *p = 0; // expected-error {{unknown type name 'unknown'}}
12   unknown * p + 0; // expected-error {{undeclared identifier 'unknown'}}
13 }
14 
15 auto (*p)() -> int(nullptr);
16 auto (*q)() -> int(*)(unknown); // expected-error {{unknown type name 'unknown'}}
17 auto (*r)() -> int(*)(unknown + 1); // expected-error {{undeclared identifier 'unknown'}}
18 
19 int f(unknown const x); // expected-error {{unknown type name 'unknown'}}
20