let try_or_bot f p =
try f p
with InvalidModel s ->
Wp_parameters.warning "%a: %s" Cil.d_loc (Cil.CurrentLoc.get ()) s;
if !use_bottom then begin
Wp_parameters.warning "Invalid model %s -> try bottom@." W.model_name;
Why_ops.pbot
end else raise (InvalidModel "(don't use bottom)")