This commit is contained in:
Ralf Jung 2017-06-08 10:56:49 -07:00
parent 3e1596d8c9
commit e0559a6b24
2 changed files with 2 additions and 2 deletions

View File

@ -455,7 +455,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
if self.intrinsic_overflowing(bin_op, left, right, dest, dest_ty)? {
// There was an overflow in an unchecked binop. Right now, we consider this an error and bail out.
// The rationale is that the reason rustc emits unchecked binops in release mode (vs. the checked binops
// it emits in debug mode) is performance, but it doesn't cust us any performance in miri.
// it emits in debug mode) is performance, but it doesn't cost us any performance in miri.
// If, however, the compiler ever starts transforming unchecked intrinsics into unchecked binops,
// we have to go back to just ignoring the overflow here.
return Err(EvalError::OverflowingMath);

View File

@ -166,7 +166,7 @@ pub struct Memory<'a, 'tcx> {
/// We mark memory as "packed" or "unaligned" for a single statement, and clear the marking
/// afterwards. In the case where no packed structs are present, it's just a single emptyness
/// check of a set instead of heavily influencing all memory access code as other solutions
/// would. This is simpler than the alternative of passing a "packed" parameter to every
/// would. This is simpler than the alternative of passing a "packed" parameter to every
/// load/store method.
///
/// One disadvantage of this solution is the fact that you can cast a pointer to a packed