aboutsummaryrefslogtreecommitdiffstats
path: root/cfrontend/Initializersproof.v
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-01-10 11:41:41 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2015-01-10 11:41:41 +0100
commit2dd864217cc864d44e828a4d14dd45668e4ab095 (patch)
treed845d0593a6a47d29d97b084a4cfc8fd2250c0b6 /cfrontend/Initializersproof.v
parent67b13ecb9cfd2511c1db62a6cc38cf796cfb2a14 (diff)
downloadcompcert-kvx-2dd864217cc864d44e828a4d14dd45668e4ab095.tar.gz
compcert-kvx-2dd864217cc864d44e828a4d14dd45668e4ab095.zip
Define a nonnegative integer "rank" for types to support structural induction over composite types.
Diffstat (limited to 'cfrontend/Initializersproof.v')
-rw-r--r--cfrontend/Initializersproof.v8
1 files changed, 4 insertions, 4 deletions
diff --git a/cfrontend/Initializersproof.v b/cfrontend/Initializersproof.v
index 225dc23e..02a453cf 100644
--- a/cfrontend/Initializersproof.v
+++ b/cfrontend/Initializersproof.v
@@ -600,8 +600,8 @@ Proof.
replace (idlsize data) with (idlsize data + 0) by omega.
eapply (proj2 (transl_init_list_size il)). eauto.
unfold lookup_composite in EQ. simpl. destruct (ge.(genv_cenv)!i) as [co|] eqn:?; inv EQ.
- exploit ce_consistent; eauto. intros (A & B & C).
- rewrite C. unfold sizeof_composite. rewrite Heqs. apply align_le.
+ erewrite co_consistent_sizeof by (eapply ce_consistent; eauto).
+ unfold sizeof_composite. rewrite Heqs. apply align_le.
destruct (co_alignof_two_p x) as [n EQ]. rewrite EQ. apply two_power_nat_pos.
+ (* union *)
simpl in H. destruct ty; try discriminate.
@@ -612,8 +612,8 @@ Proof.
rewrite padding_size. omega.
apply Zle_trans with (sizeof_union ge (co_members x)).
eapply union_field_size; eauto.
- exploit ce_consistent; eauto. intros (A & B & C).
- rewrite C. unfold sizeof_composite. rewrite Heqs. apply align_le.
+ erewrite co_consistent_sizeof by (eapply ce_consistent; eauto).
+ unfold sizeof_composite. rewrite Heqs. apply align_le.
destruct (co_alignof_two_p x) as [n EQ]. rewrite EQ. apply two_power_nat_pos.
- induction il.