Skip to content

Commit 70e7265

Browse files
committed
Expand uint
1 parent 342309e commit 70e7265

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/librustc_codegen_llvm/debuginfo/metadata.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,7 @@ struct MemberDescription<'ll> {
933933
size: Size,
934934
align: Align,
935935
flags: DIFlags,
936-
discriminant: Option<u64>,
936+
discriminant: Option<u128>,
937937
}
938938

939939
// A factory for MemberDescriptions. It produces a list of member descriptions
@@ -1288,7 +1288,7 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
12881288
flags: DIFlags::FlagZero,
12891289
discriminant: Some(self.layout.ty.ty_adt_def().unwrap()
12901290
.discriminant_for_variant(cx.tcx, i)
1291-
.val as u64),
1291+
.val as u128),
12921292
}
12931293
}).collect()
12941294
}
@@ -1842,6 +1842,7 @@ fn set_members_of_composite_type(cx: &CodegenCx<'ll, 'tcx>,
18421842
.into_iter()
18431843
.map(|member_description| {
18441844
let member_name = CString::new(member_description.name).unwrap();
1845+
let align = member_description.align.bits() as u64;
18451846
unsafe {
18461847
Some(llvm::LLVMRustDIBuilderCreateVariantMemberType(
18471848
DIB(cx),
@@ -1854,7 +1855,8 @@ fn set_members_of_composite_type(cx: &CodegenCx<'ll, 'tcx>,
18541855
member_description.offset.bits(),
18551856
match member_description.discriminant {
18561857
None => None,
1857-
Some(value) => Some(cx.const_u64(value)),
1858+
Some(value) =>
1859+
Some(cx.const_uint_big(cx.type_ix(align), value)),
18581860
},
18591861
member_description.flags,
18601862
member_description.type_metadata))

0 commit comments

Comments
 (0)