From da4f3da9d12c2c654fb4672e83611247b0e0a97d Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Thu, 15 Oct 2020 09:53:59 +0200 Subject: [PATCH] [wp] Factorize normalization in initialized MemVar --- src/plugins/wp/MemVar.ml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/wp/MemVar.ml b/src/plugins/wp/MemVar.ml index 87b4b38c114..4bd0f123fe2 100644 --- a/src/plugins/wp/MemVar.ml +++ b/src/plugins/wp/MemVar.ml @@ -1104,12 +1104,13 @@ struct M.initialized sigma.mem (Rrange(l,elt,Some a, Some b)) else let rec normalize obj = function - | [] -> [], Extlib.id - | [Shift(elt, i)] when Ctypes.equal obj elt -> [], F.e_add i - | f :: ofs -> let l, fn = normalize obj ofs in f :: l, fn + | [] -> [], a, b + | [Shift(elt, i)] when Ctypes.equal obj elt -> + [], 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 - let p, shift = normalize elt p in - let a = shift a and b = shift b in + let p, a, b = normalize elt p in let in_array = valid_range RW (vobject m x) p (elt, a, b) in let initialized = if x.vformal || x.vglob then p_true -- GitLab