summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-02-21 09:29:24 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-02-21 09:29:24 +0000
commit58cf861123b8070d33d6b99d0907d99820646a16 (patch)
treefe374e8aee21e875a4ae6c7a7250450819e609ce
parentc52566fff3d2cb7f41817f52ddaa0ffc7864c843 (diff)
Wrong type used for transforming lval = f(...)
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2413 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
-rw-r--r--cparser/StructReturn.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/cparser/StructReturn.ml b/cparser/StructReturn.ml
index 647e27a..91d5f4f 100644
--- a/cparser/StructReturn.ml
+++ b/cparser/StructReturn.ml
@@ -97,7 +97,7 @@ let rec transf_expr env ctx e =
{edesc = EVar x; etyp = newty}
| EUnop(op, e1) ->
{edesc = EUnop(op, transf_expr env Val e1); etyp = newty}
- | EBinop(Oassign, lhs, {edesc = ECall(fn, args)}, ty) ->
+ | EBinop(Oassign, lhs, {edesc = ECall(fn, args); etyp = ty}, _) ->
transf_call env ctx (Some lhs) fn args ty
| EBinop(Ocomma, e1, e2, ty) ->
ecomma (transf_expr env Effects e1) (transf_expr env ctx e2)