From d966e01ea011fa66d5a5a7f9ffce4344e415981a Mon Sep 17 00:00:00 2001 From: xleroy Date: Fri, 9 Apr 2010 12:25:03 +0000 Subject: Bug fix: infinite loop in cparser/ on bit field of size 32 bits. Algorithmic efficiency: in cparser/, precompute sizeof and alignof of composites. Code cleanup: introduced Cutil.composite_info_{def,decl} git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1312 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- cparser/Env.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'cparser/Env.ml') diff --git a/cparser/Env.ml b/cparser/Env.ml index 43ba4c3..777b3e1 100644 --- a/cparser/Env.ml +++ b/cparser/Env.ml @@ -62,8 +62,9 @@ let fresh_ident s = incr gensym; { name = s; stamp = !gensym } type composite_info = { ci_kind: struct_or_union; - ci_incomplete: bool; (* incompletely defined? *) - ci_members: field list (* members, in order *) + ci_members: field list; (* members, in order *) + ci_alignof: int option; (* alignment; None if incomplete *) + ci_sizeof: int option; (* size; None if incomplete *) } (* Infos associated with an ordinary identifier *) -- cgit v1.2.3