1 // This actually isn't allowed in C99, but sparse and gcc will take it: 2 enum Foo; 3 4 static void f(void)5f (void) 6 { 7 enum Foo *pefoo; // Pointer to incomplete type 8 struct Foo; // Forward declaration 9 struct Foo *psfoo; // Pointer to incomplete type 10 { 11 struct Foo { int foo; }; // Local definition. 12 struct Foo foo; // variable declaration. 13 foo.foo = 1; 14 } 15 } 16 17 enum Foo { FOO }; 18 /* 19 * check-name: struct namespaces #1 20 */ 21