aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Env.mli
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-04-09 12:25:03 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-04-09 12:25:03 +0000
commitd966e01ea011fa66d5a5a7f9ffce4344e415981a (patch)
tree487a86c759777b54a9e9dda72c602348c9270920 /cparser/Env.mli
parentb66aaf2d1b90ff51f54bcd2a344a6ab50ac6fe86 (diff)
downloadcompcert-kvx-d966e01ea011fa66d5a5a7f9ffce4344e415981a.tar.gz
compcert-kvx-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/Env.mli')
-rw-r--r--cparser/Env.mli7
1 files changed, 4 insertions, 3 deletions
diff --git a/cparser/Env.mli b/cparser/Env.mli
index be9d6e85..e7a74af1 100644
--- a/cparser/Env.mli
+++ b/cparser/Env.mli
@@ -25,9 +25,10 @@ exception Error of error
val fresh_ident : string -> C.ident
type composite_info = {
- ci_kind : C.struct_or_union;
- ci_incomplete : bool;
- ci_members : C.field list;
+ ci_kind: C.struct_or_union;
+ ci_members: C.field list; (* members, in order *)
+ ci_alignof: int option; (* alignment; None if incomplete *)
+ ci_sizeof: int option; (* size; None if incomplete *)
}
type ident_info = II_ident of C.storage * C.typ | II_enum of int64