aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-02-18 15:41:16 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2022-02-18 16:46:10 +0100
commitd0d4dcfdb438af7c5f15afeba2ca77ecbe2be013 (patch)
treeba87dc8ea33d5f3f1c78d8e6bb4ff9c41bfe5b43 /gcc
parentaf789a7079408782f76dc29efa7a8368740dc2ee (diff)
downloadgcc-d0d4dcfdb438af7c5f15afeba2ca77ecbe2be013.zip
gcc-d0d4dcfdb438af7c5f15afeba2ca77ecbe2be013.tar.gz
gcc-d0d4dcfdb438af7c5f15afeba2ca77ecbe2be013.tar.bz2
macro: Add repetition execution test cases
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/rust/execute/torture/macros7.rs (renamed from gcc/testsuite/rust/execute/xfail/macro4.rs)16
-rw-r--r--gcc/testsuite/rust/execute/torture/macros8.rs (renamed from gcc/testsuite/rust/execute/xfail/macro5.rs)4
-rw-r--r--gcc/testsuite/rust/execute/torture/macros9.rs (renamed from gcc/testsuite/rust/execute/xfail/macro6.rs)7
3 files changed, 17 insertions, 10 deletions
diff --git a/gcc/testsuite/rust/execute/xfail/macro4.rs b/gcc/testsuite/rust/execute/torture/macros7.rs
index 8005caf..c1e13e3 100644
--- a/gcc/testsuite/rust/execute/xfail/macro4.rs
+++ b/gcc/testsuite/rust/execute/torture/macros7.rs
@@ -1,4 +1,4 @@
-// { dg-output "any\nany\nany\nany\nany\n" }
+// { dg-output "any\nany\nany\n" }
extern "C" {
fn printf(s: *const i8, ...);
}
@@ -8,17 +8,19 @@ fn f() {
let s_p = r_s as *const str;
let c_p = s_p as *const i8;
- printf(c_p);
+ unsafe { printf(c_p); }
}
macro_rules! any {
($($a:expr)*) => {
- $($a;)*
+ f()
}
}
-fn main() {
- any!(); // valid, but does not print anything
- any!(f() f());
- any!(f() f() f());
+fn main() -> i32 {
+ any!();
+ any!(a + b);
+ any!(a + b 14 "gcc");
+
+ 0
}
diff --git a/gcc/testsuite/rust/execute/xfail/macro5.rs b/gcc/testsuite/rust/execute/torture/macros8.rs
index b8130d8..2f1e238 100644
--- a/gcc/testsuite/rust/execute/xfail/macro5.rs
+++ b/gcc/testsuite/rust/execute/torture/macros8.rs
@@ -17,7 +17,9 @@ macro_rules! zero_or_one {
}
}
-fn main() {
+fn main() -> i32 {
zero_or_one!();
zero_or_one!(f());
+
+ 0
}
diff --git a/gcc/testsuite/rust/execute/xfail/macro6.rs b/gcc/testsuite/rust/execute/torture/macros9.rs
index 77107ef..22dec2a 100644
--- a/gcc/testsuite/rust/execute/xfail/macro6.rs
+++ b/gcc/testsuite/rust/execute/torture/macros9.rs
@@ -13,11 +13,14 @@ fn f() {
macro_rules! one_or_more {
($($a:expr)+) => {
- $($a;)+
+ f()
}
}
-fn main() {
+fn main() -> i32 {
one_or_more!(f());
one_or_more!(f() f());
+ one_or_more!(f() f() 15 + 12);
+
+ 0
}