From: Yap Zhi Heng <[email protected]>

rust-GCC/gccrs#3555, rust-GCC/gccrs#3591, rust-GCC/gccrs#3597,
rust-GCC/gccrs#3651, rust-GCC/gccrs#3670 & rust-GCC/gccrs#3672 were all
fixed long ago by some of my older patches, adding test cases to conclude
the issues properly.

gcc/testsuite/ChangeLog:

        * rust/compile/issue-3555.rs: New test case.
        * rust/compile/issue-3591.rs: New test case.
        * rust/compile/issue-3597.rs: New test case.
        * rust/compile/issue-3651.rs: New test case.
        * rust/compile/issue-3670.rs: New test case.
        * rust/compile/issue-3672.rs: New test case.

Signed-off-by: Yap Zhi Heng <[email protected]>
---
 gcc/testsuite/rust/compile/issue-3555.rs | 14 ++++++++++++++
 gcc/testsuite/rust/compile/issue-3591.rs |  8 ++++++++
 gcc/testsuite/rust/compile/issue-3597.rs | 11 +++++++++++
 gcc/testsuite/rust/compile/issue-3651.rs | 12 ++++++++++++
 gcc/testsuite/rust/compile/issue-3670.rs | 11 +++++++++++
 gcc/testsuite/rust/compile/issue-3672.rs | 12 ++++++++++++
 6 files changed, 68 insertions(+)
 create mode 100644 gcc/testsuite/rust/compile/issue-3555.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-3591.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-3597.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-3651.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-3670.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-3672.rs

diff --git a/gcc/testsuite/rust/compile/issue-3555.rs 
b/gcc/testsuite/rust/compile/issue-3555.rs
new file mode 100644
index 00000000000..1e13c82904a
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3555.rs
@@ -0,0 +1,14 @@
+#![feature(no_core)]
+#![no_core]
+
+fn main() {
+    match SomeStruct(2) {
+        StructConst1(_) => {}
+
+        _ => {}
+    }
+
+    struct SomeStruct(u8);
+
+    const StructConst1: SomeStruct = SomeStruct(1);
+}
diff --git a/gcc/testsuite/rust/compile/issue-3591.rs 
b/gcc/testsuite/rust/compile/issue-3591.rs
new file mode 100644
index 00000000000..48eb54cb5f2
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3591.rs
@@ -0,0 +1,8 @@
+#![feature(no_core)]
+#![no_core]
+
+fn main() {
+    match (0, 92, 29) {
+        (pat, ..) => {}
+    }
+}
\ No newline at end of file
diff --git a/gcc/testsuite/rust/compile/issue-3597.rs 
b/gcc/testsuite/rust/compile/issue-3597.rs
new file mode 100644
index 00000000000..ff24798ba9b
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3597.rs
@@ -0,0 +1,11 @@
+#![feature(no_core)]
+#![no_core]
+
+enum E {
+    A = {
+        enum F {  }
+        0
+    }
+}
+
+fn main() {}
\ No newline at end of file
diff --git a/gcc/testsuite/rust/compile/issue-3651.rs 
b/gcc/testsuite/rust/compile/issue-3651.rs
new file mode 100644
index 00000000000..001a0a3683c
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3651.rs
@@ -0,0 +1,12 @@
+#![feature(no_core)]
+#![no_core]
+enum E {
+    A = {
+        enum F {
+            Ai32 = -1,
+        }
+        0
+    },
+}
+
+fn main() {}
\ No newline at end of file
diff --git a/gcc/testsuite/rust/compile/issue-3670.rs 
b/gcc/testsuite/rust/compile/issue-3670.rs
new file mode 100644
index 00000000000..4aa5d3801e5
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3670.rs
@@ -0,0 +1,11 @@
+#![feature(no_core)]
+#![no_core]
+enum E {
+    A = {
+        enum Foo {
+            Bar(isize),
+            Baz,
+        }
+        0
+    },
+}
diff --git a/gcc/testsuite/rust/compile/issue-3672.rs 
b/gcc/testsuite/rust/compile/issue-3672.rs
new file mode 100644
index 00000000000..4bd3df8204e
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-3672.rs
@@ -0,0 +1,12 @@
+// { dg-options "-w" }
+#![feature(no_core)]
+#![no_core]
+struct Y(usize, usize);
+
+fn distinct_variant() {
+    let y = Y(1, 2);
+
+    let a = match y {
+        Y(a, _) => a,
+    };
+}
\ No newline at end of file
-- 
2.50.1

Reply via email to