From 4196809ae108270e73b9abc65acc34db9206b27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr> Date: Tue, 10 Sep 2019 15:19:50 +0200 Subject: [PATCH] [wp/cache] generate task for type-check --- src/plugins/wp/ProverWhy3.ml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/plugins/wp/ProverWhy3.ml b/src/plugins/wp/ProverWhy3.ml index c13cc803cce..3375e04b614 100644 --- a/src/plugins/wp/ProverWhy3.ml +++ b/src/plugins/wp/ProverWhy3.ml @@ -1000,9 +1000,8 @@ let task_of_wpo wpo = (* --- Prover Task --- *) (* -------------------------------------------------------------------------- *) -let prover_task prover wpo = +let prover_task prover task = let env = get_why3_env () in - let task = task_of_wpo wpo in let config = Why3Provers.config () in let prover_config = Why3.Whyconf.get_prover_config config prover in let drv = Why3.Whyconf.load_driver (Why3.Whyconf.get_main config) @@ -1217,17 +1216,15 @@ let prove ?timeout ?steplimit ~prover wpo = try WpContext.on_context (Wpo.get_context wpo) begin fun () -> + (* Always generate common task *) + let task = task_of_wpo wpo in + if Wp_parameters.Check.get () + then Task.return VCS.checked (* Why3 tasks are type-checked *) + else if Wp_parameters.Generate.get () - then if Wp_parameters.Check.get () - then Task.return VCS.checked - else Task.return VCS.no_result + then Task.return VCS.no_result (* Only generate *) else - let drv , config , task = prover_task prover wpo in - if Wp_parameters.Check.get () - then - (* Why3 typed checked the task during its build *) - Task.return VCS.checked - else + let drv , config , task = prover_task prover task in if false && is_trivial task then Task.return VCS.valid else -- GitLab