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

[wp] Factorize normalization in initialized MemVar

parent 51c9d57f
No related branches found
No related tags found
No related merge requests found
...@@ -1104,12 +1104,13 @@ struct ...@@ -1104,12 +1104,13 @@ struct
M.initialized sigma.mem (Rrange(l,elt,Some a, Some b)) M.initialized sigma.mem (Rrange(l,elt,Some a, Some b))
else else
let rec normalize obj = function let rec normalize obj = function
| [] -> [], Extlib.id | [] -> [], a, b
| [Shift(elt, i)] when Ctypes.equal obj elt -> [], F.e_add i | [Shift(elt, i)] when Ctypes.equal obj elt ->
| f :: ofs -> let l, fn = normalize obj ofs in f :: l, fn [], F.e_add a i, F.e_add b i
| f :: ofs ->
let l, a, b = normalize obj ofs in f :: l, a, b
in in
let p, shift = normalize elt p in let p, a, b = normalize elt p in
let a = shift a and b = shift b in
let in_array = valid_range RW (vobject m x) p (elt, a, b) in let in_array = valid_range RW (vobject m x) p (elt, a, b) in
let initialized = let initialized =
if x.vformal || x.vglob then p_true if x.vformal || x.vglob then 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