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]>
---
This change was merged into the gccrs repository and is posted here for
upstream visibility and potential drive-by review, as requested by GCC
release managers.
Each commit email contains a link to its details on github from where you can
find the Pull-Request and associated discussions.


Commit on github: 
https://github.com/Rust-GCC/gccrs/commit/954d47464f8beb7ac820b7cb0780f0156e75a8f0

The commit has been mentioned in the following pull-request(s):
 - https://github.com/Rust-GCC/gccrs/pull/4494

 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 000000000..1e13c8290
--- /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 000000000..48eb54cb5
--- /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 000000000..ff24798ba
--- /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 000000000..001a0a368
--- /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 000000000..4aa5d3801
--- /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 000000000..4bd3df820
--- /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

base-commit: 6e42e123e67a7b77266987b9a75cdb47d052bc3c
-- 
2.53.0

Reply via email to