diff --git a/src/plugins/wp/wpStrategy.ml b/src/plugins/wp/wpStrategy.ml index ee31dab55e746eef3b68c77901182615c54cffce..b76d3460d67ce522b2679d4d6cea7b52110e9b00 100644 --- a/src/plugins/wp/wpStrategy.ml +++ b/src/plugins/wp/wpStrategy.ml @@ -149,7 +149,10 @@ let add_prop_fct_pre_bhv acc kind kf bhv = let p = Logic_const.pred_of_id_pred pred in Logic_const.(pat (p,pre_label)) in - let requires = Logic_const.pands (List.map norm_pred bhv.b_requires) in + let requires = + List.filter (fun x -> not x.ip_content.tp_only_check) bhv.b_requires + in + let requires = Logic_const.pands (List.map norm_pred requires) in let assumes = Logic_const.pands (List.map norm_pred bhv.b_assumes) in let precond = Logic_const.pimplies (assumes, requires) in let precond_id = Logic_const.new_predicate precond in @@ -159,12 +162,14 @@ let add_prop_fct_pre_bhv acc kind kf bhv = add_prop acc kind id p let add_prop_fct_pre acc kind kf bhv ~assumes pre = + if pre.ip_content.tp_only_check then acc else begin let id = WpPropId.mk_pre_id kf Kglobal bhv pre in let labels = NormAtLabels.labels_fct_pre in let p = Logic_const.pred_of_id_pred pre in let p = Logic_const.(pat (p,pre_label)) in let p = normalize id ?assumes labels p in add_prop acc kind id p +end let add_prop_fct_post acc kind kf bhv tkind post = let id = WpPropId.mk_fct_post_id kf bhv (tkind, post) in diff --git a/tests/spec/oracle/generalized_check.res.oracle b/tests/spec/oracle/generalized_check.res.oracle index eefae9d2492373d60e0ee4ff279e80dff2cdbd6b..e8a2ec027c97a1845f8c32cee34393f689f77432 100644 --- a/tests/spec/oracle/generalized_check.res.oracle +++ b/tests/spec/oracle/generalized_check.res.oracle @@ -3,13 +3,13 @@ [wp] Warning: Missing RTE guards [wp] 6 goals scheduled [wp] [Qed] Goal typed_f_assigns : Valid -[wp] [Qed] Goal typed_f_check : Valid +[wp] [Failed] Goal typed_f_check [wp] [Qed] Goal typed_f_ensures : Valid [wp] [Qed] Goal typed_lemma_tauto : Valid [wp] [Qed] Goal typed_main_call_f_requires : Valid [wp] [Failed] Goal typed_main_check -[wp] Proved goals: 5 / 6 - Qed: 5 +[wp] Proved goals: 4 / 6 + Qed: 4 /* Generated by Frama-C */ /*@ check lemma tauto: \true; */