// 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) }