| // RUN: %clang_cc1 -verify %s | |
| struct S; // expected-note 2{{forward declaration of 'S'}} | |
| extern S a; | |
| extern S f(); // expected-note {{'f' declared here}} | |
| extern void g(S a); | |
| void h() { | |
| g(a); // expected-error {{argument type 'S' is incomplete}} | |
| f(); // expected-error {{calling 'f' with incomplete return type 'S'}} | |
| } |