From 8b39f0cdccbd0cce39c4ac703e519fcccf932e00 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:10:52 +0100
Subject: [PATCH] [wp] fix scope of function body

---
 src/plugins/wp/calculus.ml | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/plugins/wp/calculus.ml b/src/plugins/wp/calculus.ml
index dec7620bbed..272f255fe7f 100644
--- a/src/plugins/wp/calculus.ml
+++ b/src/plugins/wp/calculus.ml
@@ -565,13 +565,17 @@ module Cfg (W : Mcfg.S) = struct
       | Cil2cfg.VblkIn (Cil2cfg.Bfct, b) ->
           let obj = get_only_succ env cfg v in
           let obj = wp_scope wenv b.blocals Mcfg.SC_Block_in obj in
-          wp_scope wenv formals Mcfg.SC_Function_frame obj
+          let obj = wp_scope wenv formals Mcfg.SC_Function_frame obj in
+          obj
+      | Cil2cfg.VblkOut (Cil2cfg.Bfct, b) ->
+          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 _ ->
+          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.VblkOut (_, _b) ->
-          let obj = get_only_succ env cfg v in
-          obj (* cf. blocks_closed_by_edge below *)
       | Cil2cfg.Vstmt s ->
           let obj = get_only_succ env cfg v in
           wp_stmt wenv s obj
-- 
GitLab