From 8f835658f95585eb9141a5115099187de4ed7d11 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Wed, 26 Mar 2014 15:38:41 +0100 Subject: [PATCH] handle predicates \at in the same way than terms \at --- src/plugins/e-acsl/visit.ml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/plugins/e-acsl/visit.ml b/src/plugins/e-acsl/visit.ml index ea467c114ee..db138683823 100644 --- a/src/plugins/e-acsl/visit.ml +++ b/src/plugins/e-acsl/visit.ml @@ -636,10 +636,22 @@ you must call function `%s' and `__e_acsl_memory_clean by yourself.@]" (fun t -> (match t.term_node with | Tat(_, StmtLabel s_ref) -> + (* the label may have been moved, + so move the corresponding reference *) s_ref := E_acsl_label.new_labeled_stmt !s_ref | _ -> ()); t) + method !vpredicate _ = + Cil.DoChildrenPost + (function + | Pat(_, StmtLabel s_ref) as p -> + (* the label may have been moved, + so move the corresponding reference *) + s_ref := E_acsl_label.new_labeled_stmt !s_ref; + p + | p -> p); + initializer Misc.reset (); self#reset_env (); -- GitLab