diff options
| author | Ralf Jung <post@ralfj.de> | 2019-11-04 13:07:36 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2019-11-04 13:32:38 +0100 |
| commit | da0c7c664ba19339c606b3384ef6eebb6c0e4105 (patch) | |
| tree | 79ddec1dd24ed3f05eaf01a25ab4dd84721856bd | |
| parent | f49f38871389041671cc710a044e8360091840a3 (diff) | |
| download | rust-da0c7c664ba19339c606b3384ef6eebb6c0e4105.tar.gz rust-da0c7c664ba19339c606b3384ef6eebb6c0e4105.zip | |
Miri: offset_from: do int-to-ptr casts when needed
| -rw-r--r-- | src/librustc_mir/interpret/intrinsics.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc_mir/interpret/intrinsics.rs b/src/librustc_mir/interpret/intrinsics.rs index c08e4c89609..0b8e3ff6736 100644 --- a/src/librustc_mir/interpret/intrinsics.rs +++ b/src/librustc_mir/interpret/intrinsics.rs @@ -251,8 +251,8 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { } "ptr_offset_from" => { - let a = self.read_immediate(args[0])?.to_scalar()?.to_ptr()?; - let b = self.read_immediate(args[1])?.to_scalar()?.to_ptr()?; + let a = self.force_ptr(self.read_immediate(args[0])?.to_scalar()?)?; + let b = self.force_ptr(self.read_immediate(args[1])?.to_scalar()?)?; if a.alloc_id != b.alloc_id { throw_ub_format!( "ptr_offset_from cannot compute offset of pointers into different \ |
