Skip to content
Snippets Groups Projects
Commit a9f3e416 authored by Andre Maroneze's avatar Andre Maroneze
Browse files

Merge branch 'fix/wp/weak-int-model' into 'stable/scandium'

[wp] introduce weak int model for lemmas

See merge request frama-c/frama-c!2647
parents f8079b19 379e0af8
No related branches found
No related tags found
No related merge requests found
...@@ -496,6 +496,8 @@ struct ...@@ -496,6 +496,8 @@ struct
let xs,tgs,domain,prop,_ = let xs,tgs,domain,prop,_ =
let cc_pred = pred `Positive in let cc_pred = pred `Positive in
compile_step name types qs labels cc_pred in_pred prop in compile_step name types qs labels cc_pred in_pred prop in
let weak = Wp_parameters.WeakIntModel.get () in
let lemma = if weak then prop else F.p_hyps domain prop in
{ {
l_name = name ; l_name = name ;
l_types = List.length types ; l_types = List.length types ;
...@@ -503,7 +505,7 @@ struct ...@@ -503,7 +505,7 @@ struct
l_triggers = [tgs] ; l_triggers = [tgs] ;
l_forall = xs ; l_forall = xs ;
l_cluster = cluster ; l_cluster = cluster ;
l_lemma = F.p_hyps domain prop ; l_lemma = lemma ;
} }
(* -------------------------------------------------------------------------- *) (* -------------------------------------------------------------------------- *)
......
...@@ -248,6 +248,14 @@ module Overflows = ...@@ -248,6 +248,14 @@ module Overflows =
(incompatible with RTE generator plug-in)" (incompatible with RTE generator plug-in)"
end) end)
let () = Parameter_customize.set_group wp_model
module WeakIntModel =
False(struct
let option_name = "-wp-weak-int-model"
let help = "Suppress integral type side conditions within lemmas\n\
(possibly unsound)"
end)
let () = Parameter_customize.set_group wp_model let () = Parameter_customize.set_group wp_model
module Literals = module Literals =
False(struct False(struct
......
...@@ -61,6 +61,7 @@ module InCtxt : Parameter_sig.String_set ...@@ -61,6 +61,7 @@ module InCtxt : Parameter_sig.String_set
module ExternArrays: Parameter_sig.Bool module ExternArrays: Parameter_sig.Bool
module Literals : Parameter_sig.Bool module Literals : Parameter_sig.Bool
module Volatile : Parameter_sig.Bool module Volatile : Parameter_sig.Bool
module WeakIntModel : Parameter_sig.Bool
module Region: Parameter_sig.Bool module Region: Parameter_sig.Bool
module Region_rw: Parameter_sig.Bool module Region_rw: Parameter_sig.Bool
......
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