From abc713705036574decbee2096006ca8e8b438dd7 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Thu, 19 Jul 2007 13:12:38 +0000 Subject: [PATCH] Test for union initialisation. [r15245] --- ir/be/test/union_init.c | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 ir/be/test/union_init.c diff --git a/ir/be/test/union_init.c b/ir/be/test/union_init.c new file mode 100644 index 000000000..995938d5d --- /dev/null +++ b/ir/be/test/union_init.c @@ -0,0 +1,49 @@ +typedef union blub { + int i; + char a[4]; +} blub; + +blub a = { + .i = 23, + .a[2] = 23, 19 +}; + +blub b = { + .a[2] = 23, 19, + .i = 23 +}; + +#if 0 +blub c = { + .a[2] = 23, 19, 17, + .i = 23 +}; +#endif + +blub d = { + .a[2] = 23, + .i = 23, + .a[3] = 19 +}; + +blub e = { + .a[2] = 23, + .i = 23, + .a[2] = 19, 23 +}; + +blub f = { + .i = 23, + .a[2] = 23, + .a[1] = 19 +}; + +int main(void) +{ + printf("%d %d %d %d\n", a.a[0], a.a[1], a.a[2], a.a[3]); + printf("%d\n", b.i); + printf("%d %d %d %d\n", d.a[0], d.a[1], d.a[2], d.a[3]); + printf("%d %d %d %d\n", e.a[0], e.a[1], e.a[2], e.a[3]); + printf("%d %d %d %d\n", f.a[0], f.a[1], f.a[2], f.a[3]); + return 0; +} -- 2.20.1