// Regression test for SimplifyBranchSame miscompilation. | |
//@ run-pass | |
macro_rules! m { | |
($a:expr, $b:expr, $c:block) => { | |
match $a { | |
Lto::Fat | Lto::Thin => { $b; (); $c } | |
Lto::No => { $b; () } | |
} | |
} | |
} | |
pub enum Lto { No, Thin, Fat } | |
fn f(mut cookie: u32, lto: Lto) -> u32 { | |
let mut _a = false; | |
m!(lto, _a = true, {cookie = 0}); | |
cookie | |
} | |
fn main() { assert_eq!(f(42, Lto::Thin), 0) } |