aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Cutil.mli
diff options
context:
space:
mode:
authorXavier Leroy <xavierleroy@users.noreply.github.com>2015-03-31 10:19:44 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2015-03-31 10:19:44 +0200
commit47a6b116069cff9c71466bde1fd87d0775ec9175 (patch)
treecc6402162b64512db1f82ebbb5c94606f14ee3a8 /cparser/Cutil.mli
parent14f3f0dfb90c74b7e1bc96c4aee74fb88dd7923b (diff)
parentc1205952ab7e3be09cd1a0a9a4d4ee9ddeefe1ea (diff)
downloadcompcert-47a6b116069cff9c71466bde1fd87d0775ec9175.tar.gz
compcert-47a6b116069cff9c71466bde1fd87d0775ec9175.zip
Merge pull request #33 from AbsInt/struct-passing
ABI conformance for passing function arguments and returning function results of struct and union types
Diffstat (limited to 'cparser/Cutil.mli')
-rw-r--r--cparser/Cutil.mli9
1 files changed, 9 insertions, 0 deletions
diff --git a/cparser/Cutil.mli b/cparser/Cutil.mli
index b90dc897..deee9f08 100644
--- a/cparser/Cutil.mli
+++ b/cparser/Cutil.mli
@@ -210,6 +210,8 @@ val eassign : exp -> exp -> exp
(* Expression for [e1 = e2] *)
val ecomma : exp -> exp -> exp
(* Expression for [e1, e2] *)
+val ecommalist : exp list -> exp -> exp
+ (* Expression for [e1, ..., eN, e] *)
val sskip: stmt
(* The [skip] statement. No location. *)
val sseq : location -> stmt -> stmt -> stmt
@@ -232,3 +234,10 @@ val formatloc: Format.formatter -> location -> unit
val default_init: Env.t -> typ -> init
(* Return a default initializer for the given type
(with zero numbers, null pointers, etc). *)
+
+(* Substitution of variables by expressions *)
+
+val subst_expr: exp IdentMap.t -> exp -> exp
+val subst_init: exp IdentMap.t -> init -> init
+val subst_decl: exp IdentMap.t -> decl -> decl
+val subst_stmt: exp IdentMap.t -> stmt -> stmt