diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/testsuite/rust/compile/macro_return.rs (renamed from gcc/testsuite/rust/compile/xfail/macro_return.rs) | 2 | ||||
| -rw-r--r-- | gcc/testsuite/rust/compile/torture/macro_as_expr.rs | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/testsuite/rust/compile/xfail/macro_return.rs b/gcc/testsuite/rust/compile/macro_return.rs index c335929..8b06f87 100644 --- a/gcc/testsuite/rust/compile/xfail/macro_return.rs +++ b/gcc/testsuite/rust/compile/macro_return.rs @@ -1,4 +1,4 @@ -// { dg-excess-errors "...." { xfail *-*-*-* *-*-* } } +// { dg-additional-options "-w" } macro_rules! add { ($a:expr) => { $a }; diff --git a/gcc/testsuite/rust/compile/torture/macro_as_expr.rs b/gcc/testsuite/rust/compile/torture/macro_as_expr.rs new file mode 100644 index 0000000..b0084e7 --- /dev/null +++ b/gcc/testsuite/rust/compile/torture/macro_as_expr.rs @@ -0,0 +1,14 @@ +// { dg-additional-options "-w" } + +macro_rules! add { + ($a:expr) => { $a }; + ($a:expr, $($b:expr),+) => { $a + add!($($b),*) } +} + +fn main() -> i32 { + if add!(add!(1, 2)) > add!(5) { + add!(1, add!(2, 3), add!(4)) + } else { + add!(5, add!(6, 7), add!(8), 9) + 10 + } +} |
