From 36104e935eb38f231ae36415797d610b1f80b89f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr> Date: Mon, 23 Mar 2020 18:29:40 +0100 Subject: [PATCH] [wp] fix duplicated block in --- src/plugins/wp/calculus.ml | 5 +---- src/plugins/wp/cil2cfg.ml | 6 +++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/wp/calculus.ml b/src/plugins/wp/calculus.ml index 272f255fe7f..2f3c5e7e07f 100644 --- a/src/plugins/wp/calculus.ml +++ b/src/plugins/wp/calculus.ml @@ -571,11 +571,8 @@ module Cfg (W : Mcfg.S) = struct let obj = get_only_succ env cfg v in let obj = wp_scope wenv b.blocals Mcfg.SC_Block_out obj in obj - | Cil2cfg.VblkOut _ -> + | Cil2cfg.VblkOut _ | Cil2cfg.VblkIn _ -> get_only_succ env cfg v - | Cil2cfg.VblkIn (_, b) -> - let obj = get_only_succ env cfg v in - wp_scope wenv b.blocals Mcfg.SC_Block_in obj | Cil2cfg.Vstmt s -> let obj = get_only_succ env cfg v in wp_stmt wenv s obj diff --git a/src/plugins/wp/cil2cfg.ml b/src/plugins/wp/cil2cfg.ml index 8a8402eb871..0afef00829b 100644 --- a/src/plugins/wp/cil2cfg.ml +++ b/src/plugins/wp/cil2cfg.ml @@ -653,7 +653,11 @@ let block_scope_for_edge cfg e = | None -> no_scope | Some s' -> block_scope s s' end - | _ -> (* TODO ? *) no_scope + | VblkIn(Bstmt _,b) -> { b_opened=[b] ; b_closed=[] } + | Vcall _ + | VblkIn _ | VblkOut _ | Vtest(false,_,_) + | VfctIn | VfctOut | Vstart | Vend | Vexit | Vloop2 _ -> + no_scope let has_exit cfg = try -- GitLab