From c46b574d5b21fb2728c76c5cab1c46890c0fb1cd Mon Sep 17 00:00:00 2001 From: xleroy Date: Thu, 21 Aug 2014 13:23:30 +0000 Subject: Support C99 compound literals (by expansion in Unblock pass). git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2615 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- cparser/PackedStructs.ml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cparser/PackedStructs.ml') diff --git a/cparser/PackedStructs.ml b/cparser/PackedStructs.ml index 41c00ba8..3064e78d 100644 --- a/cparser/PackedStructs.ml +++ b/cparser/PackedStructs.ml @@ -15,6 +15,9 @@ (* Emulation of #pragma pack (experimental) *) +(* Assumes: unblocked code. + Preserves: unblocked code. *) + open Printf open Machine open C @@ -303,6 +306,9 @@ let transf_expr loc env ctx e = | ECast(ty, e1) -> {edesc = ECast(ty, texp Val e1); etyp = e.etyp} + | ECompound _ -> + assert false (* does not occur in unblocked code *) + | ECall(e1, el) -> {edesc = ECall(texp Val e1, List.map (texp Val) el); etyp = e.etyp} -- cgit