diff options
| author | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-05-22 15:19:55 +0200 |
|---|---|---|
| committer | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-05-24 20:49:37 +0200 |
| commit | 4ca169ce84ad717df78bd2e876149b5d59153a46 (patch) | |
| tree | d46e8782362e791a0ecfbdeff5b8b68d339ac07e | |
| parent | bf39c7f87c1208249d400bdc09003c69e2621b96 (diff) | |
| download | rust-4ca169ce84ad717df78bd2e876149b5d59153a46.tar.gz rust-4ca169ce84ad717df78bd2e876149b5d59153a46.zip | |
Use the target types bitsize instead of the source type's
| -rw-r--r-- | src/librustc_mir/interpret/cast.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_mir/interpret/cast.rs b/src/librustc_mir/interpret/cast.rs index 6c0a26e1f23..a2eede82acd 100644 --- a/src/librustc_mir/interpret/cast.rs +++ b/src/librustc_mir/interpret/cast.rs @@ -92,29 +92,29 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> { match dest_ty.sty { // float -> uint TyUint(t) => { - let width = t.bit_width().unwrap_or(self.memory.pointer_size().bytes() as usize * 8); + let width = t.bit_width().unwrap_or(self.memory.pointer_size().bits() as usize); match fty { FloatTy::F32 => Ok(Scalar::Bits { bits: Single::from_bits(bits).to_u128(width).value, - defined: 32, + defined: width as u8, }), FloatTy::F64 => Ok(Scalar::Bits { bits: Double::from_bits(bits).to_u128(width).value, - defined: 64, + defined: width as u8, }), } }, // float -> int TyInt(t) => { - let width = t.bit_width().unwrap_or(self.memory.pointer_size().bytes() as usize * 8); + let width = t.bit_width().unwrap_or(self.memory.pointer_size().bits() as usize); match fty { FloatTy::F32 => Ok(Scalar::Bits { bits: Single::from_bits(bits).to_i128(width).value as u128, - defined: 32, + defined: width as u8, }), FloatTy::F64 => Ok(Scalar::Bits { bits: Double::from_bits(bits).to_i128(width).value as u128, - defined: 64, + defined: width as u8, }), } }, |
