From c6d2ef0c5c896a82295c1fb8a717ea29ee3c0e4d Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 8 Oct 2012 07:12:33 +0000 Subject: 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 --- cfrontend/SimplExprproof.v | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cfrontend/SimplExprproof.v') diff --git a/cfrontend/SimplExprproof.v b/cfrontend/SimplExprproof.v index 8a50fcb4..40177f3f 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. -- cgit