Support 128-bit enum variant in debuginfo codegen

This commit is contained in:
DonoughLiu 2023-06-10 03:21:39 +08:00
parent 8430ec5e50
commit 9176f51a9b

View File

@ -108,6 +108,10 @@ fn const_u64(&self, i: u64) -> RValue<'gcc> {
self.const_uint(self.type_u64(), i) self.const_uint(self.type_u64(), i)
} }
fn const_u128(&self, i: u128) -> RValue<'gcc> {
self.const_uint_big(self.type_u128(), i)
}
fn const_usize(&self, i: u64) -> RValue<'gcc> { fn const_usize(&self, i: u64) -> RValue<'gcc> {
let bit_size = self.data_layout().pointer_size.bits(); let bit_size = self.data_layout().pointer_size.bits();
if bit_size < 64 { if bit_size < 64 {
@ -254,7 +258,7 @@ fn const_bitcast(&self, value: RValue<'gcc>, typ: Type<'gcc>) -> RValue<'gcc> {
// SIMD builtins require a constant value. // SIMD builtins require a constant value.
self.bitcast_if_needed(value, typ) self.bitcast_if_needed(value, typ)
} }
fn const_ptr_byte_offset(&self, base_addr: Self::Value, offset: abi::Size) -> Self::Value { fn const_ptr_byte_offset(&self, base_addr: Self::Value, offset: abi::Size) -> Self::Value {
self.context.new_array_access(None, base_addr, self.const_usize(offset.bytes())).get_address(None) self.context.new_array_access(None, base_addr, self.const_usize(offset.bytes())).get_address(None)
} }