aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/struct-ns1.c
blob: 096bb5d904cb7b621c957032916efedb0b7a557e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// This actually isn't allowed in C99, but sparse and gcc will take it:
enum Foo;

static void
f (void)
{
  enum Foo *pefoo;         // Pointer to incomplete type
  struct Foo;              // Forward declaration
  struct Foo *psfoo;       // Pointer to incomplete type
  {
    struct Foo { int foo; }; // Local definition.
    struct Foo foo;          // variable declaration.
    foo.foo = 1;
  }
}

enum Foo { FOO };
/*
 * check-name: struct namespaces #1
 */