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;
29