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