summaryrefslogtreecommitdiff
path: root/test/regression/initializers.c
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-03-28 08:20:14 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-03-28 08:20:14 +0000
commitc677f108ff340c5bca67b428aa6e56b47f62da8c (patch)
treef75acecc7abe80cf06cfe01a938bdc56620137c6 /test/regression/initializers.c
parentf37a87e35850e57febba0a39ce3cb526e7886c10 (diff)
C: Support array initializers that are too short + default init for remainder.
Elab: Handle C99 designated initializers. C2C, Initializers: more precise intermediate AST for initializers. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2439 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test/regression/initializers.c')
-rw-r--r--test/regression/initializers.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/regression/initializers.c b/test/regression/initializers.c
index d0a35f3..938795a 100644
--- a/test/regression/initializers.c
+++ b/test/regression/initializers.c
@@ -54,6 +54,9 @@ char x21[10] = "Hello!";
char * x22 = &(x10.u.y);
+/* Initializer can refer to ident just declared */
+struct list { int hd; struct list * tl; } x23 = { sizeof(x23), &x23 };
+
static void print_chars(char * s, int sz)
{
int i;
@@ -115,6 +118,8 @@ int main()
printf("x22 ok\n");
else
printf("x22 error\n");
+ printf("x23 = { hd = %d, tl = %s }\n",
+ x23.hd, x23.tl == &x23 ? "ok" : "ERROR");
return 0;
}