1  #include <unistd.h>
       2  
       3  struct foo_t
       4  {
       5    int foo;
       6    size_t bar;
       7    const char *baz;
       8    struct foo_t *self;
       9    union
      10    {
      11      double should_not_appear;
      12      char *nor_should_this;
      13    } named;
      14    struct
      15    {
      16      long unnamed_sub_member;
      17      union
      18      {
      19        double one_more_level;
      20        long yes_really_one_more;
      21      };
      22    };
      23    struct {};		/* Empty ones */
      24    union {};
      25    int after_the_end;
      26  };
      27  
      28  struct foo_t used;