aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/StructReturn.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-05-05 12:07:26 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-05-05 12:07:26 +0200
commit684fd1a0989e6daa3bc20ddba925481a4f2182bf (patch)
tree1c6275fd1c4b8af029561aa362034078b8c2cbba /cparser/StructReturn.ml
parentbe6875023bc0b33701042cdf923cd9e07b4fb316 (diff)
parente9fa9cbdc761f8c033e9b702f7485982faed3f7d (diff)
downloadcompcert-684fd1a0989e6daa3bc20ddba925481a4f2182bf.tar.gz
compcert-684fd1a0989e6daa3bc20ddba925481a4f2182bf.zip
Merge branch 'master' into json_export
Diffstat (limited to 'cparser/StructReturn.ml')
-rw-r--r--cparser/StructReturn.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/cparser/StructReturn.ml b/cparser/StructReturn.ml
index 8bfc6954..660f1d9b 100644
--- a/cparser/StructReturn.ml
+++ b/cparser/StructReturn.ml
@@ -423,6 +423,7 @@ let transf_decl env (sto, id, ty, init) =
let transf_funbody env body optres =
let transf_expr ctx e = transf_expr env ctx e in
+let transf_asm_operand (lbl, cstr, e) = (lbl, cstr, transf_expr Val e) in
(* Function returns:
return kind scalar -> return e
@@ -484,7 +485,10 @@ let rec transf_stmt s =
{s with sdesc = Sblock(List.map transf_stmt sl)}
| Sdecl d ->
{s with sdesc = Sdecl(transf_decl env d)}
- | Sasm _ -> s
+ | Sasm(attr, template, outputs, inputs, clob) ->
+ {s with sdesc = Sasm(attr, template,
+ List.map transf_asm_operand outputs,
+ List.map transf_asm_operand inputs, clob)}
in
transf_stmt body