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/Transform.ml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'cparser/Transform.ml') diff --git a/cparser/Transform.ml b/cparser/Transform.ml index 637e9a8e..b7f57f39 100644 --- a/cparser/Transform.ml +++ b/cparser/Transform.ml @@ -64,12 +64,11 @@ let program (Gfundef(fundef env f), Env.add_ident env f.fd_name f.fd_storage (fundef_typ f)) | Gcompositedecl(su, id) -> - let ci = {ci_kind = su; ci_incomplete = true; ci_members = []} in - (Gcompositedecl(su, id), Env.add_composite env id ci) + (Gcompositedecl(su, id), + Env.add_composite env id (composite_info_decl env su)) | Gcompositedef(su, id, fl) -> - let ci = {ci_kind = su; ci_incomplete = false; ci_members = fl} in (Gcompositedef(su, id, composite env su id fl), - Env.add_composite env id ci) + Env.add_composite env id (composite_info_def env su fl)) | Gtypedef(id, ty) -> (Gtypedef(id, typedef env id ty), Env.add_typedef env id ty) | Genumdef _ as gd -> (gd, env) -- cgit