blob: c61b61a9c649549741d5816c20e8da72354615de [file] [log] [blame]
Anders Carlsson11582f52009-10-09 23:58:25 +00001// RUN: clang-cc -fsyntax-only -verify %s
Anders Carlssoneed3e692009-10-10 00:06:20 +00002struct A; // expected-note 4 {{forward declaration of 'struct A'}}
Anders Carlsson11582f52009-10-09 23:58:25 +00003
4A f(); // expected-note {{note: 'f' declared here}}
5
6struct B {
Anders Carlssoneed3e692009-10-10 00:06:20 +00007 A f(); // expected-note {{'f' declared here}}
Anders Carlsson11582f52009-10-09 23:58:25 +00008};
9
10void g() {
11 f(); // expected-error {{calling 'f' with incomplete return type 'struct A'}}
12
13 typedef A (*Func)();
14 Func fp;
15 fp(); // expected-error {{calling function with incomplete return type 'struct A'}}
16 ((Func)0)(); // expected-error {{calling function with incomplete return type 'struct A'}}
Anders Carlssoneed3e692009-10-10 00:06:20 +000017
18 B b;
19 b.f(); // expected-error {{calling 'f' with incomplete return type 'struct A'}}
Anders Carlsson11582f52009-10-09 23:58:25 +000020}