diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-06-16 06:56:02 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-06-16 06:56:02 +0000 |
commit | b40e056328e183522b50c68aefdbff057bca29cc (patch) | |
tree | b05fd2f0490e979e68ea06e1931bfcfba9b35771 /backend/Constpropproof.v | |
parent | 0648e79b98cc8d79e1942d15dbf05ba7b9eaaa8c (diff) | |
download | compcert-b40e056328e183522b50c68aefdbff057bca29cc.tar.gz compcert-b40e056328e183522b50c68aefdbff057bca29cc.zip |
Merge of the "princeton" branch:
- Define type "block" as "positive" instead of "Z".
- Strengthen mem_unchanged_on so that the permissions are identical,
instead of possibly increasing.
- Move mem_unchanged_on from Events to Memory.Mem.
- Define it in terms of mem_contents rather than in terms of Mem.load.
- ExportClight: try to name temporaries introduced by SimplExpr
- SimplExpr: avoid reusing temporaries between different functions,
instead, thread a single generator through all functions.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2276 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/Constpropproof.v')
-rw-r--r-- | backend/Constpropproof.v | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/backend/Constpropproof.v b/backend/Constpropproof.v index a6385f47..2d11d942 100644 --- a/backend/Constpropproof.v +++ b/backend/Constpropproof.v @@ -255,7 +255,7 @@ Proof. intros. eapply Mem.load_alloc_unchanged; eauto. split. eauto with mem. intros; red; intros. exploit Mem.perm_alloc_inv; eauto. - rewrite zeq_false. apply C. eapply Mem.valid_not_valid_diff; eauto with mem. + rewrite dec_eq_false. apply C. eapply Mem.valid_not_valid_diff; eauto with mem. Qed. Lemma mem_match_approx_free: @@ -267,7 +267,7 @@ Proof. intros; red; intros. exploit H; eauto. intros [A [B C]]. split. apply Genv.load_store_init_data_invariant with m; auto. intros. eapply Mem.load_free; eauto. - destruct (zeq b0 b); auto. subst b0. + destruct (eq_block b0 b); auto. subst b0. right. destruct (zlt lo hi); auto. elim (C lo). apply Mem.perm_cur_max. exploit Mem.free_range_perm; eauto. instantiate (1 := lo); omega. @@ -323,10 +323,10 @@ Proof. unfold Genv.add_global, Genv.find_symbol, Genv.find_var_info in *; simpl in *. destruct EITHER as [[A B] | [A B]]. - subst id0. rewrite PTree.gss in H1. inv H1. rewrite ZMap.gss. auto. + subst id0. rewrite PTree.gss in H1. inv H1. rewrite PTree.gss. auto. rewrite PTree.gso in H1; auto. destruct gd. eapply H; eauto. - rewrite ZMap.gso. eapply H; eauto. - exploit Genv.genv_symb_range; eauto. unfold ZIndexed.t. omega. + rewrite PTree.gso. eapply H; eauto. + red; intros; subst b. eelim Plt_strict; eapply Genv.genv_symb_range; eauto. Qed. Theorem mem_match_approx_init: |