rustup for span in intrinsic emulation
This commit is contained in:
parent
4dbc90b443
commit
15ae234a42
3 changed files with 7 additions and 5 deletions
|
|
@ -1 +1 @@
|
|||
084edc426f2e7e4bbedb5c6afa7fc422a52ee379
|
||||
aa69777ea2902208b24b3fd77767d577ceaf6386
|
||||
|
|
|
|||
|
|
@ -14,8 +14,7 @@ use rustc::ty::{
|
|||
layout::{LayoutOf, Size},
|
||||
Ty, TyCtxt,
|
||||
};
|
||||
use syntax::attr;
|
||||
use syntax::symbol::sym;
|
||||
use syntax::{attr, source_map::Span, symbol::sym};
|
||||
|
||||
use crate::*;
|
||||
|
||||
|
|
@ -192,11 +191,12 @@ impl<'mir, 'tcx> Machine<'mir, 'tcx> for Evaluator<'tcx> {
|
|||
#[inline(always)]
|
||||
fn call_intrinsic(
|
||||
ecx: &mut rustc_mir::interpret::InterpCx<'mir, 'tcx, Self>,
|
||||
span: Span,
|
||||
instance: ty::Instance<'tcx>,
|
||||
args: &[OpTy<'tcx, Tag>],
|
||||
dest: PlaceTy<'tcx, Tag>,
|
||||
) -> InterpResult<'tcx> {
|
||||
ecx.call_intrinsic(instance, args, dest)
|
||||
ecx.call_intrinsic(span, instance, args, dest)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ use rustc::mir;
|
|||
use rustc::mir::interpret::{InterpResult, PointerArithmetic};
|
||||
use rustc::ty::layout::{self, LayoutOf, Size, Align};
|
||||
use rustc::ty;
|
||||
use syntax::source_map::Span;
|
||||
|
||||
use crate::{
|
||||
PlaceTy, OpTy, Immediate, Scalar, Tag,
|
||||
|
|
@ -15,12 +16,13 @@ impl<'mir, 'tcx> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tc
|
|||
pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx> {
|
||||
fn call_intrinsic(
|
||||
&mut self,
|
||||
span: Span,
|
||||
instance: ty::Instance<'tcx>,
|
||||
args: &[OpTy<'tcx, Tag>],
|
||||
dest: PlaceTy<'tcx, Tag>,
|
||||
) -> InterpResult<'tcx> {
|
||||
let this = self.eval_context_mut();
|
||||
if this.emulate_intrinsic(instance, args, dest)? {
|
||||
if this.emulate_intrinsic(span, instance, args, dest)? {
|
||||
return Ok(());
|
||||
}
|
||||
let tcx = &{this.tcx.tcx};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue