1 #include <stdarg.h> 2 #include <stdbool.h> 3 #include <stdint.h> 4 #include <stdlib.h> 5 6 struct A { 7 int32_t namespace_; 8 float float_; 9 }; 10 11 struct B { 12 int32_t namespace_; 13 float float_; 14 }; 15 16 enum C_Tag { 17 D, 18 }; 19 typedef uint8_t C_Tag; 20 21 struct D_Body { 22 int32_t namespace_; 23 float float_; 24 }; 25 26 struct C { 27 C_Tag tag; 28 union { 29 struct D_Body d; 30 }; 31 }; 32 33 enum E_Tag { 34 Double, 35 Float, 36 }; 37 typedef uint8_t E_Tag; 38 39 struct Double_Body { 40 double _0; 41 }; 42 43 struct Float_Body { 44 float _0; 45 }; 46 47 struct E { 48 E_Tag tag; 49 union { 50 struct Double_Body double_; 51 struct Float_Body float_; 52 }; 53 }; 54 55 enum F_Tag { 56 double_, 57 float_, 58 }; 59 typedef uint8_t F_Tag; 60 61 struct double_Body { 62 double _0; 63 }; 64 65 struct float_Body { 66 float _0; 67 }; 68 69 struct F { 70 F_Tag tag; 71 union { 72 struct double_Body double_; 73 struct float_Body float_; 74 }; 75 }; 76 77 void root(struct A a, 78 struct B b, 79 struct C c, 80 struct E e, 81 struct F f, 82 int32_t namespace_, 83 float float_); 84