summaryrefslogtreecommitdiff
path: root/compiler/Translate.ml
diff options
context:
space:
mode:
authorSon Ho2023-03-07 09:42:43 +0100
committerSon HO2023-06-04 21:44:33 +0200
commit1d33206096d019d4593fd11e4257b0d786666d87 (patch)
treec92968069dc08c3d138e5bb2ab16154d8cceff60 /compiler/Translate.ml
parentdb8cca3c3177fec2e66634366a6621ca979c0dc9 (diff)
Consistently use the names TerminationMeasure and DecreasesProof
Diffstat (limited to '')
-rw-r--r--compiler/Translate.ml10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/Translate.ml b/compiler/Translate.ml
index b2cab4c2..139f8891 100644
--- a/compiler/Translate.ml
+++ b/compiler/Translate.ml
@@ -825,12 +825,14 @@ let translate_module (filename : string) (dest_dir : string) (crate : A.crate) :
let ctx =
List.fold_left
(fun ctx (keep_fwd, defs) ->
- (* We generate a decrease clause for all the recursive functions *)
+ (* If requested by the user, register termination measures and decreases
+ proofs for all the recursive functions *)
let fwd_def = fst (fst defs) in
let gen_decr_clause (def : Pure.fun_decl) =
- PureUtils.FunLoopIdSet.mem
- (def.Pure.def_id, def.Pure.loop_id)
- rec_functions
+ !Config.extract_decreases_clauses
+ && PureUtils.FunLoopIdSet.mem
+ (def.Pure.def_id, def.Pure.loop_id)
+ rec_functions
in
(* Register the names, only if the function is not a global body -
* those are handled later *)