Skip to content

Commit 15ae234

Browse files
committed
rustup for span in intrinsic emulation
1 parent 4dbc90b commit 15ae234

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
084edc426f2e7e4bbedb5c6afa7fc422a52ee379
1+
aa69777ea2902208b24b3fd77767d577ceaf6386

src/machine.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ use rustc::ty::{
1414
layout::{LayoutOf, Size},
1515
Ty, TyCtxt,
1616
};
17-
use syntax::attr;
18-
use syntax::symbol::sym;
17+
use syntax::{attr, source_map::Span, symbol::sym};
1918

2019
use crate::*;
2120

@@ -192,11 +191,12 @@ impl<'mir, 'tcx> Machine<'mir, 'tcx> for Evaluator<'tcx> {
192191
#[inline(always)]
193192
fn call_intrinsic(
194193
ecx: &mut rustc_mir::interpret::InterpCx<'mir, 'tcx, Self>,
194+
span: Span,
195195
instance: ty::Instance<'tcx>,
196196
args: &[OpTy<'tcx, Tag>],
197197
dest: PlaceTy<'tcx, Tag>,
198198
) -> InterpResult<'tcx> {
199-
ecx.call_intrinsic(instance, args, dest)
199+
ecx.call_intrinsic(span, instance, args, dest)
200200
}
201201

202202
#[inline(always)]

src/shims/intrinsics.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use rustc::mir;
55
use rustc::mir::interpret::{InterpResult, PointerArithmetic};
66
use rustc::ty::layout::{self, LayoutOf, Size, Align};
77
use rustc::ty;
8+
use syntax::source_map::Span;
89

910
use crate::{
1011
PlaceTy, OpTy, Immediate, Scalar, Tag,
@@ -15,12 +16,13 @@ impl<'mir, 'tcx> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tc
1516
pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx> {
1617
fn call_intrinsic(
1718
&mut self,
19+
span: Span,
1820
instance: ty::Instance<'tcx>,
1921
args: &[OpTy<'tcx, Tag>],
2022
dest: PlaceTy<'tcx, Tag>,
2123
) -> InterpResult<'tcx> {
2224
let this = self.eval_context_mut();
23-
if this.emulate_intrinsic(instance, args, dest)? {
25+
if this.emulate_intrinsic(span, instance, args, dest)? {
2426
return Ok(());
2527
}
2628
let tcx = &{this.tcx.tcx};

0 commit comments

Comments
 (0)