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