about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2017-06-21 23:09:34 -0700
committerRalf Jung <post@ralfj.de>2017-06-21 23:09:34 -0700
commit7b2b0dd56c2ab8d5dc4e9c7e2bbd0c4128ba4f5d (patch)
tree403019c467a5d995af34ad89151d093f481004d4 /src
parent894306e47d1bf5d7c4328d762e0e2c94dbeea2fe (diff)
downloadrust-7b2b0dd56c2ab8d5dc4e9c7e2bbd0c4128ba4f5d.tar.gz
rust-7b2b0dd56c2ab8d5dc4e9c7e2bbd0c4128ba4f5d.zip
test HashMap creation in libstd-MIR, and make it work again
Diffstat (limited to 'src')
-rw-r--r--src/terminator/intrinsic.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/terminator/intrinsic.rs b/src/terminator/intrinsic.rs
index f6ef46ecbfb..8ede9fa7559 100644
--- a/src/terminator/intrinsic.rs
+++ b/src/terminator/intrinsic.rs
@@ -424,9 +424,10 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
                 let ty_align = self.type_align(ty)?;
                 let val_byte = self.value_to_primval(arg_vals[1], u8)?.to_u128()? as u8;
                 let size = self.type_size(ty)?.expect("write_bytes() type must be sized");
-                let ptr = arg_vals[0].read_ptr(&self.memory)?.to_ptr()?;
+                let ptr = arg_vals[0].read_ptr(&self.memory)?;
                 let count = self.value_to_primval(arg_vals[2], usize)?.to_u64()?;
                 if count > 0 {
+                    let ptr = ptr.to_ptr()?;
                     self.memory.check_align(ptr, ty_align, size * count)?;
                     self.memory.write_repeat(ptr, val_byte, size * count)?;
                 }