diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c')
-rw-r--r-- | src/test/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/test/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c b/src/test/run-make-fulldeps/pass-non-c-like-enum-to-c/test.c deleted file mode 100644 index 99511b253..000000000 --- a/src/test/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; -} |