]> git.lizzy.rs Git - rust.git/blob - tests/codegen/enum-discriminant-value.rs
Rollup merge of #107190 - fmease:fix-81698, r=compiler-errors
[rust.git] / tests / codegen / enum-discriminant-value.rs
1 // Verify that DIEnumerator uses isUnsigned flag when appropriate.
2 //
3 // compile-flags: -g -C no-prepopulate-passes
4
5 #[repr(i64)]
6 pub enum I64 {
7     I64Min = i64::MIN,
8     I64Max = i64::MAX,
9 }
10
11 #[repr(u64)]
12 pub enum U64 {
13     U64Min = u64::MIN,
14     U64Max = u64::MAX,
15 }
16
17 fn main() {
18     let _a = I64::I64Min;
19     let _b = I64::I64Max;
20     let _c = U64::U64Min;
21     let _d = U64::U64Max;
22 }
23
24 // CHECK: !DIEnumerator(name: "I64Min", value: -9223372036854775808)
25 // CHECK: !DIEnumerator(name: "I64Max", value: 9223372036854775807)
26 // CHECK: !DIEnumerator(name: "U64Min", value: 0, isUnsigned: true)
27 // CHECK: !DIEnumerator(name: "U64Max", value: 18446744073709551615, isUnsigned: true)