Skip to content
/ miri Public
forked from rust-lang/miri

Commit b282c3f

Browse files
committed
build: Fix build after rust-lang/rust#60951
1 parent b269bb0 commit b282c3f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/operator.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ impl<'mir, 'tcx> EvalContextExt<'tcx> for super::MiriEvalContext<'mir, 'tcx> {
6464
assert!(right.layout.ty.is_integral());
6565
let l_bits = self.force_bits(left.imm.to_scalar()?, left.layout.size)?;
6666
let r_bits = self.force_bits(right.imm.to_scalar()?, right.layout.size)?;
67-
67+
6868
let left = ImmTy::from_scalar(Scalar::from_uint(l_bits, left.layout.size), left.layout);
6969
let right = ImmTy::from_scalar(Scalar::from_uint(r_bits, left.layout.size), right.layout);
7070

7171
return self.binary_op(bin_op, left, right);
72-
}
72+
}
7373

7474
// Operations that support fat pointers
7575
match bin_op {
@@ -391,11 +391,12 @@ impl<'mir, 'tcx> EvalContextExt<'tcx> for super::MiriEvalContext<'mir, 'tcx> {
391391
pointee_ty: Ty<'tcx>,
392392
offset: i64,
393393
) -> InterpResult<'tcx, Scalar<Tag>> {
394+
use rustc::mir::interpret::InterpError::Panic;
394395
// FIXME: assuming here that type size is less than `i64::max_value()`.
395396
let pointee_size = self.layout_of(pointee_ty)?.size.bytes() as i64;
396397
let offset = offset
397398
.checked_mul(pointee_size)
398-
.ok_or_else(|| InterpError::Overflow(mir::BinOp::Mul))?;
399+
.ok_or_else(|| Panic(PanicMessage::Overflow(mir::BinOp::Mul)))?;
399400
// Now let's see what kind of pointer this is.
400401
let ptr = if offset == 0 {
401402
match ptr {

src/shims/foreign_items.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
128128
dest: Option<PlaceTy<'tcx, Tag>>,
129129
ret: Option<mir::BasicBlock>,
130130
) -> InterpResult<'tcx> {
131+
use rustc::mir::interpret::InterpError::Panic;
131132
let this = self.eval_context_mut();
132133
let attrs = this.tcx.get_attrs(def_id);
133134
let link_name = match attr::first_attr_value_str_by_name(&attrs, sym::link_name) {
@@ -167,7 +168,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
167168
"calloc" => {
168169
let items = this.read_scalar(args[0])?.to_usize(this)?;
169170
let len = this.read_scalar(args[1])?.to_usize(this)?;
170-
let size = items.checked_mul(len).ok_or_else(|| InterpError::Overflow(mir::BinOp::Mul))?;
171+
let size = items.checked_mul(len).ok_or_else(|| Panic(PanicMessage::Overflow(mir::BinOp::Mul)))?;
171172
let res = this.malloc(size, /*zero_init:*/ true, MiriMemoryKind::C);
172173
this.write_scalar(res, dest)?;
173174
}

0 commit comments

Comments
 (0)