diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr55755.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr55755.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr55755.c b/gcc/testsuite/gcc.dg/torture/pr55755.c new file mode 100644 index 000000000..3c8bb6ba4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr55755.c @@ -0,0 +1,43 @@ +/* { dg-do run } */ +/* { dg-require-effective-target int32plus } */ + +struct S4 +{ + unsigned f0:24; +} __attribute__((__packed__)); + +struct S4 g_10 = { + 6210831 +}; + +struct S5 +{ + int i; + struct S4 l_8[2]; +} __attribute__((__packed__)); + +int a, b; + +struct S4 func_2 (int x) +{ + struct S5 l = { + 0, + {{0}, {0}} + }; + l.i = a; + g_10 = l.l_8[1]; + for (; x<2; x++) { + struct S4 tmp = { + 11936567 + }; + l.l_8[x] = tmp; + } + b = l.i; + return g_10; +} + +int main (void) +{ + func_2 (0); + return 0; +} |