diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-02-18 15:41:16 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-02-18 16:46:10 +0100 |
commit | d0d4dcfdb438af7c5f15afeba2ca77ecbe2be013 (patch) | |
tree | ba87dc8ea33d5f3f1c78d8e6bb4ff9c41bfe5b43 /gcc | |
parent | af789a7079408782f76dc29efa7a8368740dc2ee (diff) | |
download | gcc-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 } |