summaryrefslogtreecommitdiff
path: root/test/Sema/incomplete-call.c
blob: d34bda54986c8158d967c474fc7b777a50c5c9eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// RUN: %clang_cc1 -fsyntax-only -verify %s

struct foo; // expected-note 3 {{forward declaration of 'struct foo'}}

struct foo a(); // expected-note {{'a' declared here}}
void b(struct foo);
void c();

void func(void *p) {
  a(); // expected-error{{calling 'a' with incomplete return type 'struct foo'}}
  b(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
  c(*(struct foo*)p); // expected-error{{argument type 'struct foo' is incomplete}}
}