diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-12-29 16:55:38 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-12-29 16:55:38 +0000 |
commit | 8539759095f95f2fbb680efc7633d868099114c8 (patch) | |
tree | 3401d7cd91686026090a21f600cf70ea4372ebf3 /cfrontend/Cexec.v | |
parent | 7e9c6fc9a51adc5e488c590d83c1e8ef5a256c9f (diff) | |
download | compcert-8539759095f95f2fbb680efc7633d868099114c8.tar.gz compcert-8539759095f95f2fbb680efc7633d868099114c8.zip |
Merge of the clightgen branch:
- Alternate semantics for Clight where function parameters are temporaries,
not variables
- New pass SimplLocals that turns non-addressed local variables into
temporaries
- Simplified Csharpminor, Cshmgen and Cminorgen accordingly
- SimplExpr starts its temporaries above variable names, therefoe
Cminorgen no longer needs to encode variable names and temps names.
- Simplified Cminor parser & printer, as well as Errors, accordingly.
- New tool clightgen to produce Clight AST in Coq-parsable .v files.
- Removed side condition "return type is void" on rules skip_seq
in the semantics of CompCert C, Clight, C#minor, Cminor.
- Adapted RTLgenproof accordingly (now uses a memory extension).
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2083 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Cexec.v')
-rw-r--r-- | cfrontend/Cexec.v | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/cfrontend/Cexec.v b/cfrontend/Cexec.v index c768118e..c370c60d 100644 --- a/cfrontend/Cexec.v +++ b/cfrontend/Cexec.v @@ -2015,7 +2015,6 @@ Definition do_step (w: world) (s: state) : list (trace * state) := ret (Returnstate Vundef (call_cont k) m') | State f (Sreturn (Some x)) k e m => ret (ExprState f x (Kreturn k) e m) | State f Sskip ((Kstop | Kcall _ _ _ _ _) as k) e m => - check type_eq (f.(fn_return)) Tvoid; do m' <- Mem.free_list m (blocks_of_env e); ret (Returnstate Vundef k m') @@ -2183,7 +2182,7 @@ Proof with (unfold ret; auto with coqlib). destruct H0; subst x... rewrite H0... rewrite H0; rewrite H1... - rewrite H1. rewrite dec_eq_true. rewrite H2. red in H0. destruct k; try contradiction... + rewrite H1. red in H0. destruct k; try contradiction... destruct H0; subst x... rewrite H0... |