Skip to content

Commit b95587f

Browse files
committed
Auto merge of #852 - lzutao:rustup, r=RalfJung
build: Fix build after rust-lang/rust#60951
2 parents 310649b + fd71fbe commit b95587f

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

rust-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1301422a6c2e8916560b8cc2f0564f38d8858a75
1+
a7f28678bbf4e16893bb6a718e427504167a9494

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 {
@@ -298,11 +298,12 @@ impl<'mir, 'tcx> EvalContextExt<'tcx> for super::MiriEvalContext<'mir, 'tcx> {
298298
pointee_ty: Ty<'tcx>,
299299
offset: i64,
300300
) -> InterpResult<'tcx, Scalar<Tag>> {
301+
use rustc::mir::interpret::InterpError::Panic;
301302
// FIXME: assuming here that type size is less than `i64::max_value()`.
302303
let pointee_size = self.layout_of(pointee_ty)?.size.bytes() as i64;
303304
let offset = offset
304305
.checked_mul(pointee_size)
305-
.ok_or_else(|| InterpError::Overflow(mir::BinOp::Mul))?;
306+
.ok_or_else(|| Panic(PanicMessage::Overflow(mir::BinOp::Mul)))?;
306307
// Now let's see what kind of pointer this is.
307308
let ptr = if offset == 0 {
308309
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)