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