diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-04-09 12:25:03 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-04-09 12:25:03 +0000 |
commit | d966e01ea011fa66d5a5a7f9ffce4344e415981a (patch) | |
tree | 487a86c759777b54a9e9dda72c602348c9270920 /cparser/StructAssign.ml | |
parent | b66aaf2d1b90ff51f54bcd2a344a6ab50ac6fe86 (diff) | |
download | compcert-d966e01ea011fa66d5a5a7f9ffce4344e415981a.tar.gz compcert-d966e01ea011fa66d5a5a7f9ffce4344e415981a.zip |
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
Diffstat (limited to 'cparser/StructAssign.ml')
-rw-r--r-- | cparser/StructAssign.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cparser/StructAssign.ml b/cparser/StructAssign.ml index bdaa2f58..f5cecfc5 100644 --- a/cparser/StructAssign.ml +++ b/cparser/StructAssign.ml @@ -57,7 +57,7 @@ let transf_assign env loc lhs rhs = match unroll env l.etyp with | TStruct(id, attr) -> let ci = Env.find_struct env id in - if ci.ci_incomplete then + if ci.ci_sizeof = None then error "%a: Error: incomplete struct '%s'" formatloc loc id.name; transf_struct l r ci.ci_members | TUnion(id, attr) -> |