//! This test checks that match branches which all access a field
//! at the same offset are merged together.
//!
//@ compile-flags: -O
#![crate_type = "lib"]

#[repr(C)]
pub struct A {
    x: f64,
    y: u64,
}
#[repr(C)]
pub struct B {
    x: f64,
    y: u32,
}
#[repr(C)]
pub struct C {
    x: f64,
    y: u16,
}
#[repr(C)]
pub struct D {
    x: f64,
    y: u8,
}

pub enum E {
    A(A),
    B(B),
    C(C),
    D(D),
}

// CHECK-LABEL: @match_on_e
#[no_mangle]
pub fn match_on_e(e: &E) -> &f64 {
    // CHECK: start:
    // CHECK-NEXT: getelementptr
    // CHECK-NEXT: ret
    match e {
        E::A(A { x, .. }) | E::B(B { x, .. }) | E::C(C { x, .. }) | E::D(D { x, .. }) => x,
    }
}
