diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.dg/torture/pr59047.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.dg/torture/pr59047.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.dg/torture/pr59047.c b/gcc-4.8/gcc/testsuite/gcc.dg/torture/pr59047.c new file mode 100644 index 000000000..fcedfcba8 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gcc.dg/torture/pr59047.c @@ -0,0 +1,39 @@ +/* { dg-do run } */ + +extern void abort (void); + +struct +{ + int f0; + int f1:1; + int f2:2; +} a = {0, 0, 1}; + +int b, c, *d, e, f; + +int +fn1 () +{ + for (; b < 1; ++b) + { + for (e = 0; e < 1; e = 1) + { + int **g = &d; + *g = &c; + } + *d = 0; + f = a.f1; + if (f) + return 0; + } + return 0; +} + +int +main () +{ + fn1 (); + if (b != 1) + abort (); + return 0; +} |