summaryrefslogtreecommitdiff
path: root/cparser/C.mli
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-12-18 07:54:35 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-12-18 07:54:35 +0000
commit712f3cbae6bfd3c6f6cc40d44f438aa0affcd371 (patch)
tree913762a241b5f97b3ef4df086ba6adaeb2ff45c4 /cparser/C.mli
parentc629161139899e43a2fe7c5af59ca926cdab370e (diff)
Support for inline assembly (asm statements).
cparser: add primitive support for enum types. bitfield emulation: for bitfields with enum type, choose signed/unsigned as appropriate git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2074 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cparser/C.mli')
-rw-r--r--cparser/C.mli9
1 files changed, 8 insertions, 1 deletions
diff --git a/cparser/C.mli b/cparser/C.mli
index 8e73bc5..ce58504 100644
--- a/cparser/C.mli
+++ b/cparser/C.mli
@@ -150,6 +150,7 @@ type typ =
| TNamed of ident * attributes
| TStruct of ident * attributes
| TUnion of ident * attributes
+ | TEnum of ident * attributes
(** Expressions *)
@@ -187,6 +188,7 @@ and stmt_desc =
| Sreturn of exp option
| Sblock of stmt list
| Sdecl of decl
+ | Sasm of string
and slabel =
| Slabel of string
@@ -218,6 +220,10 @@ type struct_or_union =
| Struct
| Union
+(** Enumerator *)
+
+type enumerator = ident * int64 * exp option
+
(** Function definitions *)
type fundef = {
@@ -244,7 +250,8 @@ and globdecl_desc =
| Gcompositedef of struct_or_union * ident * attributes * field list
(* struct/union definition *)
| Gtypedef of ident * typ (* typedef *)
- | Genumdef of ident * (ident * exp option) list (* enum definition *)
+ | Genumdef of ident * attributes * enumerator list
+ (* enum definition *)
| Gpragma of string (* #pragma directive *)
type program = globdecl list