Skip to content
Snippets Groups Projects
Commit a0a0e423 authored by David Bühler's avatar David Bühler
Browse files

[wp] Uses Eva public API instead of Db.Value.

parent 635c558c
No related branches found
No related tags found
No related merge requests found
...@@ -768,7 +768,7 @@ struct ...@@ -768,7 +768,7 @@ struct
let datatype = "Eva" let datatype = "Eva"
let configure () = let configure () =
if not (Db.Value.is_computed ()) then if not (Wp_eva.is_computed ()) then
Wp_parameters.abort ~current:true Wp_parameters.abort ~current:true
"Could not use Eva memory model without a previous run of the analysis."; "Could not use Eva memory model without a previous run of the analysis.";
(fun () -> ()) (fun () -> ())
...@@ -780,8 +780,8 @@ struct ...@@ -780,8 +780,8 @@ struct
let bottom = Model.bottom let bottom = Model.bottom
let join = Model.join let join = Model.join
let of_kinstr k = Db.Value.get_state k let of_kinstr k = Wp_eva.get_cvalue_state k
let of_stmt k = Db.Value.get_stmt_state k let of_stmt s = Wp_eva.get_cvalue_state (Kstmt s)
let of_kf kf = let of_kf kf =
let state = ref bottom in let state = ref bottom in
let vis = object let vis = object
......
...@@ -40,7 +40,10 @@ ...@@ -40,7 +40,10 @@
frama-c.kernel frama-c.kernel
frama-c-rtegen.core frama-c-rtegen.core
frama-c-server.core frama-c-server.core
qed why3 zarith ocamlgraph)) qed why3 zarith ocamlgraph
(select wp_eva.ml from
(frama-c-eva.core -> wp_eva.enabled.ml)
( -> wp_eva.disabled.ml))))
(plugin (optional) (name wp) (libraries frama-c-wp.core) (site (frama-c plugins))) (plugin (optional) (name wp) (libraries frama-c-wp.core) (site (frama-c plugins)))
......
(**************************************************************************)
(* *)
(* This file is part of WP plug-in of Frama-C. *)
(* *)
(* Copyright (C) 2007-2022 *)
(* CEA (Commissariat a l'energie atomique et aux energies *)
(* alternatives) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version 2.1 *)
(* for more details (enclosed in the file licenses/LGPLv2.1). *)
(* *)
(**************************************************************************)
let is_computed () = false
let get_cvalue_state kinstr = Cvalue.Model.top
(**************************************************************************)
(* *)
(* This file is part of WP plug-in of Frama-C. *)
(* *)
(* Copyright (C) 2007-2022 *)
(* CEA (Commissariat a l'energie atomique et aux energies *)
(* alternatives) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version 2.1 *)
(* for more details (enclosed in the file licenses/LGPLv2.1). *)
(* *)
(**************************************************************************)
let is_computed = Eva.Analysis.is_computed
let get_cvalue_state kinstr = Eva.Results.(before_kinstr kinstr |> get_cvalue_model)
(**************************************************************************)
(* *)
(* This file is part of WP plug-in of Frama-C. *)
(* *)
(* Copyright (C) 2007-2022 *)
(* CEA (Commissariat a l'energie atomique et aux energies *)
(* alternatives) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version 2.1 *)
(* for more details (enclosed in the file licenses/LGPLv2.1). *)
(* *)
(**************************************************************************)
val is_computed: unit -> bool
val get_cvalue_state: Cil_types.kinstr -> Cvalue.Model.t
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment