summaryrefslogtreecommitdiffstats
path: root/src/test/run-make-fulldeps/return-non-c-like-enum
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-make-fulldeps/return-non-c-like-enum')
-rw-r--r--src/test/run-make-fulldeps/return-non-c-like-enum/Makefile7
-rw-r--r--src/test/run-make-fulldeps/return-non-c-like-enum/nonclike.rs21
-rw-r--r--src/test/run-make-fulldeps/return-non-c-like-enum/test.c63
3 files changed, 0 insertions, 91 deletions
diff --git a/src/test/run-make-fulldeps/return-non-c-like-enum/Makefile b/src/test/run-make-fulldeps/return-non-c-like-enum/Makefile
deleted file mode 100644
index 513311c82..000000000
--- a/src/test/run-make-fulldeps/return-non-c-like-enum/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-include ../tools.mk
-
-all:
- $(RUSTC) --crate-type=staticlib nonclike.rs
- $(CC) test.c $(call STATICLIB,nonclike) $(call OUT_EXE,test) \
- $(EXTRACFLAGS) $(EXTRACXXFLAGS)
- $(call RUN,test)
diff --git a/src/test/run-make-fulldeps/return-non-c-like-enum/nonclike.rs b/src/test/run-make-fulldeps/return-non-c-like-enum/nonclike.rs
deleted file mode 100644
index de529cf64..000000000
--- a/src/test/run-make-fulldeps/return-non-c-like-enum/nonclike.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#[repr(C, u8)]
-pub enum TT {
- AA(u64, u64),
- BB,
-}
-
-#[no_mangle]
-pub extern "C" fn tt_new(a: u64, b: u64) -> TT {
- TT::AA(a, b)
-}
-
-#[repr(C,u8)]
-pub enum T {
- A(u64),
- B,
-}
-
-#[no_mangle]
-pub extern "C" fn t_new(a: u64) -> T {
- T::A(a)
-}
diff --git a/src/test/run-make-fulldeps/return-non-c-like-enum/test.c b/src/test/run-make-fulldeps/return-non-c-like-enum/test.c
deleted file mode 100644
index afadd3c10..000000000
--- a/src/test/run-make-fulldeps/return-non-c-like-enum/test.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdint.h>
-#include <assert.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;
-
-/* These symbols are defined by the Rust staticlib built from
- * nonclike.rs. */
-extern TT tt_new(uint64_t a, uint64_t b);
-extern T t_new(uint64_t v);
-
-int main(int argc, char *argv[]) {
- (void)argc; (void)argv;
-
- /* This example works. */
- TT tt = tt_new(10, 20);
- assert(AA == tt.tag);
- assert(10 == tt.aa._0);
- assert(20 == tt.aa._1);
-
- /* This one used to segfault (see issue #68190). */
- T t = t_new(10);
- assert(A == t.tag);
- assert(10 == t.a._0);
-
- return 0;
-}