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 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