summaryrefslogtreecommitdiff
path: root/cfrontend/Csem.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-09-11 16:03:02 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-09-11 16:03:02 +0000
commitbe43363d309cea62731e04ad10dddf3ecafcacd1 (patch)
treef66c346d51df74d6b6ee34f654178a44250a33c8 /cfrontend/Csem.v
parent5e8237152cad0cf08d3eea0d5de8cd8bc499df69 (diff)
Revu traitement des structures et unions recursives. Dans Cshmgen, meilleure compilation de exit_if_false.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@94 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Csem.v')
-rw-r--r--cfrontend/Csem.v8
1 files changed, 4 insertions, 4 deletions
diff --git a/cfrontend/Csem.v b/cfrontend/Csem.v
index 5431697..4cc8555 100644
--- a/cfrontend/Csem.v
+++ b/cfrontend/Csem.v
@@ -556,15 +556,15 @@ with eval_lvalue: env -> mem -> expr -> trace -> mem -> block -> int -> Prop :=
sem_add v1 (typeof a1) v2 (typeof a2) = Some (Vptr l ofs) ->
eval_lvalue e m (Expr (Eindex a1 a2) ty)
(t1 ** t2) m2 l ofs
- | eval_Efield_struct: forall e m a t m1 l ofs fList i ty delta,
+ | eval_Efield_struct: forall e m a t m1 l ofs id fList i ty delta,
eval_lvalue e m a t m1 l ofs ->
- typeof a = Tstruct fList ->
+ typeof a = Tstruct id fList ->
field_offset i fList = Some delta ->
eval_lvalue e m (Expr (Efield a i) ty)
t m1 l (Int.add ofs (Int.repr delta))
- | eval_Efield_union: forall e m a t m1 l ofs fList i ty,
+ | eval_Efield_union: forall e m a t m1 l ofs id fList i ty,
eval_lvalue e m a t m1 l ofs ->
- typeof a = Tunion fList ->
+ typeof a = Tunion id fList ->
eval_lvalue e m (Expr (Efield a i) ty)
t m1 l ofs