aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Bitfields.ml
diff options
context:
space:
mode:
Diffstat (limited to 'cparser/Bitfields.ml')
-rw-r--r--cparser/Bitfields.ml12
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