about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/src/common.rs
diff options
context:
space:
mode:
authorDonoughLiu <ldm2993593805@163.com>2023-06-10 03:21:39 +0800
committerDonoughLiu <ldm2993593805@163.com>2023-06-10 03:39:24 +0800
commit204bfb6a8c1f9aaa9b5c04d72a47f7fd8772a4bb (patch)
treef0b12fd79eb83e8cd45f5401c4357d7e01e7c4f4 /compiler/rustc_codegen_gcc/src/common.rs
parent397641f3bd4f4211d0a1e9ada8d477bf495735b2 (diff)
downloadrust-204bfb6a8c1f9aaa9b5c04d72a47f7fd8772a4bb.tar.gz
rust-204bfb6a8c1f9aaa9b5c04d72a47f7fd8772a4bb.zip
Support 128-bit enum variant in debuginfo codegen
Diffstat (limited to 'compiler/rustc_codegen_gcc/src/common.rs')
-rw-r--r--compiler/rustc_codegen_gcc/src/common.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_gcc/src/common.rs b/compiler/rustc_codegen_gcc/src/common.rs
index bad87db4732..b62f4676f70 100644
--- a/compiler/rustc_codegen_gcc/src/common.rs
+++ b/compiler/rustc_codegen_gcc/src/common.rs
@@ -108,6 +108,10 @@ impl<'gcc, 'tcx> ConstMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
         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> {
         let bit_size = self.data_layout().pointer_size.bits();
         if bit_size < 64 {
@@ -254,7 +258,7 @@ impl<'gcc, 'tcx> ConstMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
         // SIMD builtins require a constant value.
         self.bitcast_if_needed(value, typ)
     }
-    
+
     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)
     }