1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 struct foo; // expected-note 3 {{forward declaration of 'struct foo'}}
4 
5 struct foo a(); // expected-note {{'a' declared here}}
6 void b(struct foo);
7 void c();
8 
func(void * p)9 void func(void *p) {
10   a(); // expected-error{{calling 'a' with incomplete return type 'struct foo'}}
11   b(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
12   c(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
13 }
14