From: Jakub Jelinek Date: Mon, 12 Apr 2010 10:18:39 +0000 (+0200) Subject: re PR tree-optimization/43560 (possible wrong code bug) X-Git-Tag: releases/gcc-4.6.0~7947 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f101882ada10af2b1b682e56f7a52c248ed6eef5;p=thirdparty%2Fgcc.git re PR tree-optimization/43560 (possible wrong code bug) PR tree-optimization/43560 * gcc.c-torture/execute/pr43560.c: New test. From-SVN: r158220 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1af06733c477..fe70fb42424e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-12 Jakub Jelinek + + PR tree-optimization/43560 + * gcc.c-torture/execute/pr43560.c: New test. + 2010-04-12 Eric Botcazou * gnat.dg/aggr13.adb: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/pr43560.c b/gcc/testsuite/gcc.c-torture/execute/pr43560.c new file mode 100644 index 000000000000..cb420c614cc2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr43560.c @@ -0,0 +1,28 @@ +/* PR tree-optimization/43560 */ + +struct S +{ + int a, b; + char c[10]; +}; + +__attribute__ ((noinline)) void +test (struct S *x) +{ + while (x->b > 1 && x->c[x->b - 1] == '/') + { + x->b--; + x->c[x->b] = '\0'; + } +} + +const struct S s = { 0, 0, "" }; + +int +main () +{ + struct S *p; + asm ("" : "=r" (p) : "0" (&s)); + test (p); + return 0; +}