//@ run-pass
#![allow(overflowing_literals)]

fn main() {
    #[cfg(target_pointer_width = "32")]
    const I: isize = -2147483648isize;
    #[cfg(target_pointer_width = "64")]
    const I: isize = -9223372036854775808isize;
    assert_eq!(i32::MIN as u64, 0xffffffff80000000);
    assert_eq!(-2147483648isize as u64, 0xffffffff80000000);
    assert_eq!(-2147483648i32 as u64, 0xffffffff80000000);
    assert_eq!(i64::MIN as u64, 0x8000000000000000);
    #[cfg(target_pointer_width = "64")]
    assert_eq!(-9223372036854775808isize as u64, 0x8000000000000000);
    #[cfg(target_pointer_width = "32")]
    assert_eq!(-9223372036854775808isize as u64, 0);
    assert_eq!(-9223372036854775808i32 as u64, 0);
    const J: usize = i32::MAX as usize;
    const K: usize = -1i32 as u32 as usize;
    const L: usize = i32::MIN as usize;
    const M: usize = i64::MIN as usize;
    match 5 {
        J => {},
        K => {},
        L => {},
        M => {},
        _ => {}
    }
    match 5 {
        I => {},
        _ => {}
    }
}
