diff options
Diffstat (limited to 'tests/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c')
-rw-r--r-- | tests/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/tests/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c b/tests/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c deleted file mode 100644 index 99511b253..000000000 --- a/tests/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c +++ /dev/null @@ -1,85 +0,0 @@ -#include <stdint.h> - -/* This is the code generated by cbindgen 0.12.1 for the `enum TT` - * type in nonclike.rs . */ -enum TT_Tag { - AA, - BB, -}; -typedef uint8_t TT_Tag; - -typedef struct { - uint64_t _0; - uint64_t _1; -} AA_Body; - -typedef struct { - TT_Tag tag; - union { - AA_Body aa; - }; -} TT; - -/* This is the code generated by cbindgen 0.12.1 for the `enum T` type - * in nonclike.rs . */ -enum T_Tag { - A, - B, -}; -typedef uint8_t T_Tag; - -typedef struct { - uint64_t _0; -} A_Body; - -typedef struct { - T_Tag tag; - union { - A_Body a; - }; -} T; - -uint64_t tt_add(TT a, TT b) { - if (a.tag == AA && b.tag == AA) { - return a.aa._0 + a.aa._1 + b.aa._0 + b.aa._1; - } else if (a.tag == AA) { - return a.aa._0 + a.aa._1; - } else if (b.tag == BB) { - return b.aa._0 + b.aa._1; - } else { - return 0; - } -} - -uint64_t t_add(T a, T b) { - if (a.tag == A && b.tag == A) { - return a.a._0 + b.a._0; - } else if (a.tag == AA) { - return a.a._0; - } else if (b.tag == BB) { - return b.a._0; - } else { - return 0; - } -} - -TT tt_new(uint64_t a, uint64_t b) { - TT tt = { - .tag = AA, - .aa = { - ._0 = a, - ._1 = b, - }, - }; - return tt; -} - -T t_new(uint64_t a) { - T t = { - .tag = A, - .a = { - ._0 = a, - }, - }; - return t; -} |