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