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