aboutsummaryrefslogtreecommitdiffstats
path: root/cfrontend/Cexec.v
diff options
context:
space:
mode:
authorMaxime Dénès <mail@maximedenes.fr>2016-12-21 01:22:46 +0100
committerMaxime Dénès <mail@maximedenes.fr>2017-01-09 15:31:17 +0100
commit88bf09d3673dbda96c216a3e037d503a9664795e (patch)
tree46765f1179a32624794ef8c72ff2f78ea2a71f4c /cfrontend/Cexec.v
parent2ba24b0fcbda5b2478baa151eab10397ab0b55ce (diff)
downloadcompcert-kvx-88bf09d3673dbda96c216a3e037d503a9664795e.tar.gz
compcert-kvx-88bf09d3673dbda96c216a3e037d503a9664795e.zip
Some backward compatible Ltac fixes, necessary for 8.6.
Diffstat (limited to 'cfrontend/Cexec.v')
-rw-r--r--cfrontend/Cexec.v12
1 files changed, 7 insertions, 5 deletions
diff --git a/cfrontend/Cexec.v b/cfrontend/Cexec.v
index 4dcf2a47..a9ffcd3d 100644
--- a/cfrontend/Cexec.v
+++ b/cfrontend/Cexec.v
@@ -130,8 +130,8 @@ Definition val_of_eventval (ev: eventval) (t: typ) : option val :=
Ltac mydestr :=
match goal with
- | [ |- None = Some _ -> _ ] => intro X; discriminate
- | [ |- Some _ = Some _ -> _ ] => intro X; inv X
+ | [ |- None = Some _ -> _ ] => let X := fresh "X" in intro X; discriminate
+ | [ |- Some _ = Some _ -> _ ] => let X := fresh "X" in intro X; inv X
| [ |- match ?x with Some _ => _ | None => _ end = Some _ -> _ ] => destruct x eqn:?; mydestr
| [ |- match ?x with true => _ | false => _ end = Some _ -> _ ] => destruct x eqn:?; mydestr
| [ |- match ?x with left _ => _ | right _ => _ end = Some _ -> _ ] => destruct x; mydestr
@@ -2038,12 +2038,14 @@ Definition do_step (w: world) (s: state) : list transition :=
Ltac myinv :=
match goal with
- | [ |- In _ nil -> _ ] => intro X; elim X
+ | [ |- In _ nil -> _ ] => let X := fresh "X" in intro X; elim X
| [ |- In _ (ret _ _) -> _ ] =>
+ let X := fresh "X" in
intro X; elim X; clear X;
- [intro EQ; unfold ret in EQ; inv EQ; myinv | myinv]
+ [let EQ := fresh "EQ" in intro EQ; unfold ret in EQ; inv EQ; myinv | myinv]
| [ |- In _ (_ :: nil) -> _ ] =>
- intro X; elim X; clear X; [intro EQ; inv EQ; myinv | myinv]
+ let X := fresh "X" in
+ intro X; elim X; clear X; [let EQ := fresh "EQ" in intro EQ; inv EQ; myinv | myinv]
| [ |- In _ (match ?x with Some _ => _ | None => _ end) -> _ ] => destruct x eqn:?; myinv
| [ |- In _ (match ?x with false => _ | true => _ end) -> _ ] => destruct x eqn:?; myinv
| [ |- In _ (match ?x with left _ => _ | right _ => _ end) -> _ ] => destruct x; myinv