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