root/usr/src/tools/smatch/src/validation/struct-ns1.c
// 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
 */