diff options
Diffstat (limited to 'cparser/Bitfields.ml')
-rw-r--r-- | cparser/Bitfields.ml | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/cparser/Bitfields.ml b/cparser/Bitfields.ml index bbc39456..6e325ff2 100644 --- a/cparser/Bitfields.ml +++ b/cparser/Bitfields.ml @@ -19,7 +19,7 @@ open Printf open Machine -open C +open !C open Cutil open Transform @@ -60,12 +60,6 @@ let unsigned_ikind_for_carrier nbits = if nbits <= 8 * !config.sizeof_longlong then IULongLong else assert false -let fits_unsigned v n = - v >= 0L && v < Int64.shift_left 1L n - -let fits_signed v n = - let p = Int64.shift_left 1L (n-1) in v >= Int64.neg p && v < p - let is_signed_enum_bitfield env sid fld eid n = let info = Env.find_enum env eid in if List.for_all (fun (_, v, _) -> int_representable v n false) info.Env.ei_members @@ -73,7 +67,7 @@ let is_signed_enum_bitfield env sid fld eid n = else if List.for_all (fun (_, v, _) -> int_representable v n true) info.Env.ei_members then true else begin - Cerrors.warning "Warning: not all values of type 'enum %s' can be represented in bit-field '%s' of struct '%s' (%d bits are not enough)" eid.name fld sid.name n; + Cerrors.warning "Warning: not all values of type 'enum %s' can be represented in bit-field '%s' of struct '%s' (%d bits are not enough)" eid.name fld sid.C.name n; false end @@ -519,7 +513,7 @@ let transf_decl env (sto, id, ty, init_opt) = let transf_stmt env s = Transform.stmt - ~expr:(fun loc env ctx e -> transf_exp env ctx e) + ~expr:(fun _ env ctx e -> transf_exp env ctx e) ~decl:transf_decl env s |