summaryrefslogtreecommitdiff
path: root/cparser/Cutil.mli
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-09-01 07:08:02 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-09-01 07:08:02 +0000
commit1b8e228a2c5d8f63ffa28c1fcef68f64a0408900 (patch)
treeaf62ff7abe9b492c132b53b9215d401544530dd6 /cparser/Cutil.mli
parente99d18c442c40a14e6eaea722cbc7ef0ca6dd26a (diff)
Bugs with 1- empty bitfields, 2- anonymous bitfields, 3- result type of reading a small unsigned bitfield
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1496 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cparser/Cutil.mli')
-rw-r--r--cparser/Cutil.mli7
1 files changed, 7 insertions, 0 deletions
diff --git a/cparser/Cutil.mli b/cparser/Cutil.mli
index 2e61cf5..7a185f5 100644
--- a/cparser/Cutil.mli
+++ b/cparser/Cutil.mli
@@ -93,6 +93,9 @@ val is_signed_ikind : ikind -> bool
val unsigned_ikind_of : ikind -> ikind
(* Return the unsigned integer kind corresponding to the given
integer kind. *)
+val signed_ikind_of : ikind -> ikind
+ (* Return the signed integer kind corresponding to the given
+ integer kind. *)
val integer_rank : ikind -> int
(* Order integer kinds from smaller to bigger *)
val float_rank : fkind -> int
@@ -135,6 +138,10 @@ val ptrdiff_t_ikind : ikind
val type_of_constant : constant -> typ
(* Return the type of the given constant. *)
+val type_of_member : Env.t -> field -> typ
+ (* Return the type of accessing the given field [fld].
+ Normally it's [fld.fld_type] but there is a special case for
+ small unsigned bitfields. *)
val is_literal_0 : exp -> bool
(* Is the given expression the integer literal "0"? *)
val is_lvalue : Env.t -> exp -> bool