Skip to content
Snippets Groups Projects
Commit fae56db8 authored by Loïc Correnson's avatar Loïc Correnson
Browse files

[wp] warning for terminates

parent f3f0e2ea
No related branches found
No related tags found
No related merge requests found
...@@ -108,6 +108,14 @@ let selected_call ~bhv ~prop kf = ...@@ -108,6 +108,14 @@ let selected_call ~bhv ~prop kf =
let selected_clause ~prop name getter kf = let selected_clause ~prop name getter kf =
getter kf <> [] && selected_name ~prop name getter kf <> [] && selected_name ~prop name
let selected_terminates kf =
match Annotations.terminates kf with
| None -> ()
| Some ip ->
let loc = ip.ip_content.tp_statement.pred_loc in
Wp_parameters.warning ~source:(fst loc)
"Terminates not implemented yet (skipped)."
let selected_disjoint_complete kf ~bhv ~prop = let selected_disjoint_complete kf ~bhv ~prop =
selected_default ~bhv && selected_default ~bhv &&
( selected_clause ~prop "@complete_behaviors" Annotations.complete kf || ( selected_clause ~prop "@complete_behaviors" Annotations.complete kf ||
...@@ -247,6 +255,7 @@ let compile Key.{ kf ; smoking ; bhv ; prop } = ...@@ -247,6 +255,7 @@ let compile Key.{ kf ; smoking ; bhv ; prop } =
Option.iter Option.iter
begin fun (cfg : Cfg.automaton) -> begin fun (cfg : Cfg.automaton) ->
(* Spec Iteration *) (* Spec Iteration *)
selected_terminates kf ;
if selected_disjoint_complete kf ~bhv ~prop || if selected_disjoint_complete kf ~bhv ~prop ||
(List.exists (selected_bhv ~smoking ~bhv ~prop) behaviors) (List.exists (selected_bhv ~smoking ~bhv ~prop) behaviors)
then infos.annots <- true ; then infos.annots <- true ;
......
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