summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Campbell2019-08-13 15:40:14 +0100
committerBrian Campbell2019-08-13 15:40:14 +0100
commit9e6e132f933676c302759a4132ebafb7d0f1e6ef (patch)
tree7343d27e2c65886804f4ee1df769a03a00ce932f /src
parent1bb6e8a4333f204f1f9a65e741f1ae91cda399dc (diff)
Coq: fix non-exhaustive pattern match failure in riscv duopod
Diffstat (limited to 'src')
-rw-r--r--src/rewrites.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rewrites.ml b/src/rewrites.ml
index 89b49043..ad0ed836 100644
--- a/src/rewrites.ml
+++ b/src/rewrites.ml
@@ -4935,11 +4935,14 @@ let rewrites_coq = [
("move_termination_measures", []);
("top_sort_defs", []);
("early_return", []);
+ (* We need to do the exhaustiveness check before merging, because it may
+ introduce new wildcard clauses *)
+ ("recheck_defs_without_effects", []);
+ ("make_cases_exhaustive", []);
(* merge funcls before adding the measure argument so that it doesn't
disappear into an internal pattern match *)
("merge_function_clauses", []);
("recheck_defs_without_effects", []);
- ("make_cases_exhaustive", []);
("rewrite_explicit_measure", []);
("rewrite_loops_with_escape_effect", []);
("recheck_defs_without_effects", []);