blob: 54368e5172ea483c616bac9ef08628ee03c399d8 [file] [log] [blame]
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef enum MyCLikeEnum {
Foo1,
Bar1,
Baz1,
} MyCLikeEnum;
typedef enum MyCLikeEnum_Prepended {
Foo1_Prepended,
Bar1_Prepended,
Baz1_Prepended,
} MyCLikeEnum_Prepended;
typedef struct MyFancyStruct {
int32_t i;
#ifdef __cplusplus
inline void foo();
#endif
} MyFancyStruct;
typedef enum MyFancyEnum_Tag {
Foo,
Bar,
Baz,
} MyFancyEnum_Tag;
typedef struct MyFancyEnum {
MyFancyEnum_Tag tag;
union {
struct {
int32_t bar;
};
struct {
int32_t baz;
};
};
#ifdef __cplusplus
inline void wohoo();
#endif
} MyFancyEnum;
typedef union MyUnion {
float f;
uint32_t u;
int32_t extra_member;
} MyUnion;
typedef struct MyFancyStruct_Prepended {
#ifdef __cplusplus
inline void prepended_wohoo();
#endif
int32_t i;
} MyFancyStruct_Prepended;
typedef enum MyFancyEnum_Prepended_Tag {
Foo_Prepended,
Bar_Prepended,
Baz_Prepended,
} MyFancyEnum_Prepended_Tag;
typedef struct MyFancyEnum_Prepended {
#ifdef __cplusplus
inline void wohoo();
#endif
MyFancyEnum_Prepended_Tag tag;
union {
struct {
int32_t bar_prepended;
};
struct {
int32_t baz_prepended;
};
};
} MyFancyEnum_Prepended;
typedef union MyUnion_Prepended {
int32_t extra_member;
float f;
uint32_t u;
} MyUnion_Prepended;
void root(struct MyFancyStruct s,
struct MyFancyEnum e,
enum MyCLikeEnum c,
union MyUnion u,
struct MyFancyStruct_Prepended sp,
struct MyFancyEnum_Prepended ep,
enum MyCLikeEnum_Prepended cp,
union MyUnion_Prepended up);