28 lines
683 B
Rust
28 lines
683 B
Rust
// Verify that DIEnumerator uses isUnsigned flag when appropriate.
|
|
//
|
|
//@ compile-flags: -g -C no-prepopulate-passes
|
|
|
|
#[repr(i64)]
|
|
pub enum I64 {
|
|
I64Min = i64::MIN,
|
|
I64Max = i64::MAX,
|
|
}
|
|
|
|
#[repr(u64)]
|
|
pub enum U64 {
|
|
U64Min = u64::MIN,
|
|
U64Max = u64::MAX,
|
|
}
|
|
|
|
fn main() {
|
|
let _a = I64::I64Min;
|
|
let _b = I64::I64Max;
|
|
let _c = U64::U64Min;
|
|
let _d = U64::U64Max;
|
|
}
|
|
|
|
// CHECK: !DIEnumerator(name: "I64Min", value: -9223372036854775808)
|
|
// CHECK: !DIEnumerator(name: "I64Max", value: 9223372036854775807)
|
|
// CHECK: !DIEnumerator(name: "U64Min", value: 0, isUnsigned: true)
|
|
// CHECK: !DIEnumerator(name: "U64Max", value: 18446744073709551615, isUnsigned: true)
|