summaryrefslogtreecommitdiff
path: root/cparser/Bitfields.ml
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-04-09 12:25:03 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-04-09 12:25:03 +0000
commitd966e01ea011fa66d5a5a7f9ffce4344e415981a (patch)
tree487a86c759777b54a9e9dda72c602348c9270920 /cparser/Bitfields.ml
parentb66aaf2d1b90ff51f54bcd2a344a6ab50ac6fe86 (diff)
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/Bitfields.ml')
-rw-r--r--cparser/Bitfields.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/cparser/Bitfields.ml b/cparser/Bitfields.ml
index 27d5895..dea1862 100644
--- a/cparser/Bitfields.ml
+++ b/cparser/Bitfields.ml
@@ -64,7 +64,7 @@ let pack_bitfields env id ml =
| Some n ->
if n = 0 then
(pos, accu, ms) (* bit width 0 means end of pack *)
- else if pos + n >= 8 * !config.sizeof_int then
+ else if pos + n > 8 * !config.sizeof_int then
(pos, accu, ml) (* doesn't fit in current word *)
else begin
let signed =