summaryrefslogtreecommitdiff
path: root/cfrontend/SimplExprproof.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-10-08 07:12:33 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-10-08 07:12:33 +0000
commitc6d2ef0c5c896a82295c1fb8a717ea29ee3c0e4d (patch)
treea65010aa76a60a6025fc1ab1a966f0490938a569 /cfrontend/SimplExprproof.v
parentf7693b3d897b90fd3bc2533be002dc0bdcd9f6c2 (diff)
Make Clight independent of CompCert C.
Common parts are factored out in cfrontend/Ctypes.v and cfrontend/Cop.v git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2060 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/SimplExprproof.v')
-rw-r--r--cfrontend/SimplExprproof.v12
1 files changed, 11 insertions, 1 deletions
diff --git a/cfrontend/SimplExprproof.v b/cfrontend/SimplExprproof.v
index 8a50fcb..40177f3 100644
--- a/cfrontend/SimplExprproof.v
+++ b/cfrontend/SimplExprproof.v
@@ -24,6 +24,8 @@ Require Import Memory.
Require Import Events.
Require Import Smallstep.
Require Import Globalenvs.
+Require Import Ctypes.
+Require Import Cop.
Require Import Csyntax.
Require Import Csem.
Require Import Cstrategy.
@@ -1883,6 +1885,14 @@ Proof.
intros. inv H. auto. inv H0. auto.
Qed.
+Lemma alloc_variables_preserved:
+ forall e m params e' m',
+ Csem.alloc_variables e m params e' m' ->
+ alloc_variables e m params e' m'.
+Proof.
+ induction 1; econstructor; eauto.
+Qed.
+
Lemma bind_parameters_preserved:
forall e m params args m',
Csem.bind_parameters ge e m params args m' ->
@@ -2138,7 +2148,7 @@ Proof.
econstructor; split.
left; apply plus_one. eapply step_internal_function.
rewrite C; rewrite D; auto.
- rewrite C; rewrite D; eauto.
+ rewrite C; rewrite D. eapply alloc_variables_preserved; eauto.
rewrite C. eapply bind_parameters_preserved; eauto.
constructor; auto.