aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorliushuyu <liushuyu011@gmail.com>2022-07-19 15:38:21 -0600
committerliushuyu <liushuyu011@gmail.com>2022-07-19 15:38:21 -0600
commit3ce22036e48a4f8805440abcd291ecd35d2ca468 (patch)
tree2a340731a502887b84c39663b5db702b55c50841 /gcc
parent0340a567fedab5f902febcea8f415943ca85b330 (diff)
downloadgcc-3ce22036e48a4f8805440abcd291ecd35d2ca468.zip
gcc-3ce22036e48a4f8805440abcd291ecd35d2ca468.tar.gz
gcc-3ce22036e48a4f8805440abcd291ecd35d2ca468.tar.bz2
tests: add regression tests for more macro expansions
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.rs14
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
+ }
+}