Skip to content
Snippets Groups Projects
Commit 122a4bce authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[wp] FIxes upper_bound on init range in semantics

parent 837b6f2a
No related branches found
No related tags found
No related merge requests found
...@@ -455,16 +455,18 @@ struct ...@@ -455,16 +455,18 @@ struct
| Warning.Failed warn -> warn , (F.p_true, F.p_true) | Warning.Failed warn -> warn , (F.p_true, F.p_true)
| Warning.Result(warn , hyp) -> warn , hyp | Warning.Result(warn , hyp) -> warn , hyp
let init_range ~sigma lv typ a b value = let init_range ~sigma lv typ low excl_up value =
let obj = Ctypes.object_of typ in let obj = Ctypes.object_of typ in
let outcome = Warning.catch let outcome = Warning.catch
~severe:false ~effect:"Skip initializer" ~severe:false ~effect:"Skip initializer"
(fun () -> (fun () ->
let l = lval sigma lv in let l = lval sigma lv in
let e = Extlib.opt_map (exp sigma) value in let e = Extlib.opt_map (exp sigma) value in
let a = e_bigint a and b = e_bigint b in let low = e_bigint low in
(is_exp_range sigma l obj a b e), let excl_up = e_bigint excl_up in
(M.initialized sigma (Rrange(l, obj, Some a, Some b))) let incl_up = e_sub excl_up e_one in
(is_exp_range sigma l obj low excl_up e),
(M.initialized sigma (Rrange(l, obj, Some low, Some incl_up)))
) () in ) () in
match outcome with match outcome with
| Warning.Failed warn -> warn , (F.p_true, F.p_true) | Warning.Failed warn -> warn , (F.p_true, F.p_true)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment