1 #include <stdarg.h> 2 #include <stdbool.h> 3 #include <stdint.h> 4 #include <stdlib.h> 5 6 typedef struct { 7 bool a; 8 int32_t b; 9 } Foo; 10 11 enum Bar_Tag { 12 Baz, 13 Bazz, 14 FooNamed, 15 FooParen, 16 }; 17 typedef uint8_t Bar_Tag; 18 19 typedef struct { 20 Bar_Tag tag; 21 Foo named; 22 } Bazz_Body; 23 24 typedef struct { 25 Bar_Tag tag; 26 int32_t different; 27 uint32_t fields; 28 } FooNamed_Body; 29 30 typedef struct { 31 Bar_Tag tag; 32 int32_t _0; 33 Foo _1; 34 } FooParen_Body; 35 36 typedef union { 37 Bar_Tag tag; 38 Bazz_Body bazz; 39 FooNamed_Body foo_named; 40 FooParen_Body foo_paren; 41 } Bar; 42 43 Foo root(Bar aBar); 44