summaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/torture/macro_as_expr.rs
blob: b0084e7b466afae4aa532f9e830a840d02dfa485 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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
    }
}