From: "lenny.chiadmi-delage" <[email protected]>

Added new tests.

Addresses Rust-GCC/gccrs#4375

gcc/testsuite/ChangeLog:

        * rust/compile/issue-4375-ice-regression.rs: New test.
        * rust/compile/issue-4375-multiple-errors.rs: New test.
        * rust/compile/issue-4375-tuple-pattern.rs: New test.

Signed-off-by: lenny.chiadmi-delage <[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/b625de4e6ccd4940688d2b1f6d352b45fdab570d

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

 .../rust/compile/issue-4375-ice-regression.rs |  8 +++++++
 .../compile/issue-4375-multiple-errors.rs     | 24 +++++++++++++++++++
 .../rust/compile/issue-4375-tuple-pattern.rs  | 10 ++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 gcc/testsuite/rust/compile/issue-4375-ice-regression.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-4375-multiple-errors.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-4375-tuple-pattern.rs

diff --git a/gcc/testsuite/rust/compile/issue-4375-ice-regression.rs 
b/gcc/testsuite/rust/compile/issue-4375-ice-regression.rs
new file mode 100644
index 000000000..df02f85c0
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-4375-ice-regression.rs
@@ -0,0 +1,8 @@
+fn get_forty_two() -> i32 {
+    return 42;
+}
+
+fn main() {
+    let myname = get_forty_two() else { return () };
+    // { dg-warning "unused name" "" { target *-*-* } .-1 }
+}
diff --git a/gcc/testsuite/rust/compile/issue-4375-multiple-errors.rs 
b/gcc/testsuite/rust/compile/issue-4375-multiple-errors.rs
new file mode 100644
index 000000000..885253d3b
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-4375-multiple-errors.rs
@@ -0,0 +1,24 @@
+fn foo() -> i32 {
+    1
+}
+fn bar() -> i32 {
+    2
+}
+fn baz() -> i32 {
+    3
+}
+
+fn main() {
+    let a = foo() else {
+        // { dg-warning "unused name" "" { target *-*-* } .-1 }
+        return ();
+    };
+    let b = bar() else {
+        // { dg-warning "unused name" "" { target *-*-* } .-1 }
+        return ();
+    };
+    let c = baz() else {
+        // { dg-warning "unused name" "" { target *-*-* } .-1 }
+        return ();
+    };
+}
diff --git a/gcc/testsuite/rust/compile/issue-4375-tuple-pattern.rs 
b/gcc/testsuite/rust/compile/issue-4375-tuple-pattern.rs
new file mode 100644
index 000000000..a13ba74e8
--- /dev/null
+++ b/gcc/testsuite/rust/compile/issue-4375-tuple-pattern.rs
@@ -0,0 +1,10 @@
+fn get_tuple() -> (i32, i32) {
+    (5, 10)
+}
+
+fn main() {
+    let (x, y) = get_tuple() else {
+        // { dg-warning "unused name" "" { target *-*-* } .-1 }
+        return;
+    };
+}
-- 
2.52.0

Reply via email to