summaryrefslogtreecommitdiff
path: root/backend/Constpropproof.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-06-16 06:56:02 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-06-16 06:56:02 +0000
commitb40e056328e183522b50c68aefdbff057bca29cc (patch)
treeb05fd2f0490e979e68ea06e1931bfcfba9b35771 /backend/Constpropproof.v
parent0648e79b98cc8d79e1942d15dbf05ba7b9eaaa8c (diff)
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.v10
1 files changed, 5 insertions, 5 deletions
diff --git a/backend/Constpropproof.v b/backend/Constpropproof.v
index a6385f4..2d11d94 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: