diff options
| author | Ralf Jung <post@ralfj.de> | 2022-07-05 16:53:48 -0400 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2022-07-09 07:27:29 -0400 |
| commit | 33e8d4c2d4adf4cf43cd423e45c35b6c9c17267b (patch) | |
| tree | e07dea5d3efe65dff9278e1b4391aa746b065956 | |
| parent | 4587677300bbc7175b397478f31c910157c074af (diff) | |
| download | rust-33e8d4c2d4adf4cf43cd423e45c35b6c9c17267b.tar.gz rust-33e8d4c2d4adf4cf43cd423e45c35b6c9c17267b.zip | |
fix cranelift and gcc backends
| -rw-r--r-- | src/common.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/common.rs b/src/common.rs index d156f874434..fc391f53f18 100644 --- a/src/common.rs +++ b/src/common.rs @@ -9,7 +9,6 @@ use rustc_codegen_ssa::traits::{ StaticMethods, }; use rustc_middle::mir::Mutability; -use rustc_middle::ty::ScalarInt; use rustc_middle::ty::layout::{TyAndLayout, LayoutOf}; use rustc_middle::mir::interpret::{ConstAllocation, GlobalAlloc, Scalar}; use rustc_target::abi::{self, HasDataLayout, Pointer, Size}; @@ -159,13 +158,13 @@ impl<'gcc, 'tcx> ConstMethods<'tcx> for CodegenCx<'gcc, 'tcx> { None } + fn zst_to_backend(&self, _ty: Type<'gcc>) -> RValue<'gcc> { + self.const_undef(self.type_ix(0)) + } + fn scalar_to_backend(&self, cv: Scalar, layout: abi::Scalar, ty: Type<'gcc>) -> RValue<'gcc> { let bitsize = if layout.is_bool() { 1 } else { layout.size(self).bits() }; match cv { - Scalar::Int(ScalarInt::ZST) => { - assert_eq!(0, layout.size(self).bytes()); - self.const_undef(self.type_ix(0)) - } Scalar::Int(int) => { let data = int.assert_bits(layout.size(self)); |
