diff options
-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 } |