2010-01-01 10:34:51 +00:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
2009-06-02 17:58:47 +00:00
|
|
|
|
|
|
|
struct foo; // expected-note 3 {{forward declaration of 'struct foo'}}
|
|
|
|
|
2009-10-14 18:03:49 +00:00
|
|
|
struct foo a(); // expected-note {{'a' declared here}}
|
2009-06-02 17:58:47 +00:00
|
|
|
void b(struct foo);
|
|
|
|
void c();
|
|
|
|
|
2011-05-02 19:39:53 +00:00
|
|
|
void func(void *p) {
|
2009-10-14 18:03:49 +00:00
|
|
|
a(); // expected-error{{calling 'a' with incomplete return type 'struct foo'}}
|
2011-05-02 19:39:53 +00:00
|
|
|
b(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
|
|
|
|
c(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
|
2009-06-02 17:58:47 +00:00
|
|
|
}
|