Skip to content

Commit 9384f28

Browse files
committed
Fix spurious unary - overflow check in abs implementation
Due to preconditions, this cannot overflow. But we also don't want the successful check from our internal implementation in the dashboard.
1 parent fa6d3b4 commit 9384f28

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/analyses/base.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2662,7 +2662,8 @@ struct
26622662
| _, None
26632663
| None, _ -> ID.top_of ik
26642664
| Some mx, Some mm when Z.equal mx mm -> ID.top_of ik
2665-
| _, _ ->
2665+
| _, _ -> (* ID.neg will not overflow *)
2666+
let@ () = GobRef.wrap AnalysisState.executing_speculative_computations true in (* ID.neg is our internal implementation of abs *)
26662667
let x1 = ID.neg (ID.meet (ID.ending ik Z.zero) xcast) in
26672668
let x2 = ID.meet (ID.starting ik Z.zero) xcast in
26682669
ID.join x1 x2

0 commit comments

Comments
 (0)