From 7b5f37eb103303e9799d78a8e38bc003af6c4d1f Mon Sep 17 00:00:00 2001 From: Maxime Jacquemin <maxime2.jacquemin@gmail.com> Date: Fri, 26 Mar 2021 11:17:41 +0100 Subject: [PATCH] [Eva] api: Bug fix The previous way of building eval_lval and eval_exp only evaluated the functor Make once, which is not what we want. This should be fixed. --- src/plugins/value/utils/results.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/value/utils/results.ml b/src/plugins/value/utils/results.ml index a9ea9e29922..56ecf3433e4 100644 --- a/src/plugins/value/utils/results.ml +++ b/src/plugins/value/utils/results.ml @@ -348,7 +348,7 @@ end type evaluation = (module Evaluation) type lvaluation -let eval_lval, eval_exp = +let build_eval_lval_and_exp () = let module M = Make () in let open Response in let build = function @@ -371,9 +371,13 @@ let eval_lval, eval_exp = let eval_exp exp req = build @@ M.eval_exp exp req in eval_lval, eval_exp +let eval_lval lval req = (fst @@ build_eval_lval_and_exp ()) lval req + let eval_var vi req = eval_lval (Cil.var vi) req +let eval_exp exp req = (snd @@ build_eval_lval_and_exp ()) exp req + let eval_address _lval _req = raise Not_implemented -- GitLab