summaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/torture/block_expr5.rs
blob: 7e164a949bbf21a0bcbc97efb945a599a24d665d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
fn foo() -> i32 {
    0
}

fn bar() -> i32 {
    foo();
    foo()
}

fn baz() -> i32 {
    {
        bar();
        bar();
    }
    {
        bar();
        bar()
    };
    {
        bar();
        bar()
    }
}

fn test(ok: i32) -> i32 {
    if ok >= 1 {
        foo()
    } else if ok <= -1 {
        bar()
    } else {
        baz()
    }
}

fn main() {
    let a = foo();
    let b = bar();
    let c = baz();
    test(a + b + c);
}