You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(* Updating a single varinfo*offset pair. NB! This function's type does
@@ -1458,7 +1457,7 @@ struct
1458
1457
(* ikind is the type of a for limiting ranges of the operands a, b. The only binops which can have different types for a, b are Shiftlt, Shiftrt (not handled below; don't use ikind to limit b there). *)
1459
1458
letinv_bin_int (a, b) ikindcop=
1460
1459
letwarn_and_top_on_zerox=
1461
-
ifGU.opt_predicate (BI.equal BI.zero) (ID.to_int x) then
1460
+
ifGobOption.exists (BI.equal BI.zero) (ID.to_int x) then
1462
1461
(M.warn "Must Undefined Behavior: Second argument of div or mod is 0, continuing with top";
1463
1462
ID.top_of ikind)
1464
1463
else
@@ -1512,7 +1511,9 @@ struct
1512
1511
* If the upper bound of a is divisible by b, we can also meet with the result of a/b*b - c to get the precise [3,3].
1513
1512
* If b is negative we have to look at the lower bound. *)
1514
1513
letis_divisiblebound=
1515
-
tryID.rem (bound a |>Option.get |>ID.of_int ikind) b |>ID.to_int =SomeBI.zero with_ ->false
1514
+
match bound a with
1515
+
|Someba -> ID.rem (ID.of_int ikind ba) b |>ID.to_int =SomeBI.zero
1516
+
|None -> false
1516
1517
in
1517
1518
let max_pos =matchID.maximal b withNone ->true|Somex ->BI.compare x BI.zero >=0in
1518
1519
let min_neg =matchID.minimal b withNone ->true|Somex ->BI.compare x BI.zero <0in
@@ -2210,7 +2211,7 @@ struct
2210
2211
|`ThreadJoin (id,ret_var) ->
2211
2212
let st' =
2212
2213
match (eval_rv (Analyses.ask_of_ctx ctx) gs st ret_var) with
2213
-
|`IntnwhenGU.opt_predicate (BI.equal BI.zero) (ID.to_int n) -> st
2214
+
|`IntnwhenGobOption.exists (BI.equal BI.zero) (ID.to_int n) -> st
2214
2215
|`Addressret_a ->
2215
2216
beginmatch eval_rv (Analyses.ask_of_ctx ctx) gs st id with
0 commit comments