aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-04-21 11:22:52 +0200
committerPhilip Herron <philip.herron@embecosm.com>2023-04-25 20:58:16 +0000
commite70fbab606bdfa858d5993eddbc9d8070914a139 (patch)
tree3770ec41f85f993ab542810f84cf38eb4bc8eeea
parent68df05cf10e131e99a09f586fa770754ec6e5164 (diff)
downloadgcc-e70fbab606bdfa858d5993eddbc9d8070914a139.zip
gcc-e70fbab606bdfa858d5993eddbc9d8070914a139.tar.gz
gcc-e70fbab606bdfa858d5993eddbc9d8070914a139.tar.bz2
patterns: Add execution testcases to verify proper pattern matching
These testcases are similar to the ones added in #2072 but regarding execution. One more issue was opened from them - #2144 gcc/testsuite/ChangeLog: * rust/execute/torture/issue-1852-1.rs: New test. * rust/execute/torture/issue-1852.rs: New test.
-rw-r--r--gcc/testsuite/rust/execute/torture/issue-1852-1.rs15
-rw-r--r--gcc/testsuite/rust/execute/torture/issue-1852.rs15
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/execute/torture/issue-1852-1.rs b/gcc/testsuite/rust/execute/torture/issue-1852-1.rs
new file mode 100644
index 0000000..1286c1b
--- /dev/null
+++ b/gcc/testsuite/rust/execute/torture/issue-1852-1.rs
@@ -0,0 +1,15 @@
+enum Foo {
+ A,
+ B(i32),
+}
+
+fn main() -> i32 {
+ let result = Foo::A;
+
+ let value = match result {
+ Foo::A => 15,
+ Foo::B(x) => x,
+ };
+
+ value - 15
+}
diff --git a/gcc/testsuite/rust/execute/torture/issue-1852.rs b/gcc/testsuite/rust/execute/torture/issue-1852.rs
new file mode 100644
index 0000000..a8bf128
--- /dev/null
+++ b/gcc/testsuite/rust/execute/torture/issue-1852.rs
@@ -0,0 +1,15 @@
+enum Foo {
+ A,
+ B(i32),
+}
+
+fn main() -> i32 {
+ let result = Foo::B(123);
+
+ let value = match result {
+ Foo::A => 15,
+ Foo::B(x) => x,
+ };
+
+ value - 123
+}