diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-04-12 12:18:39 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-04-12 12:18:39 +0200 |
commit | f101882ada10af2b1b682e56f7a52c248ed6eef5 (patch) | |
tree | 35dd592cee7e76e396b18dac542406ea1bb4f82f /gcc | |
parent | 675c873bfe795ff94288f31c2735254443d3754b (diff) | |
download | gcc-f101882ada10af2b1b682e56f7a52c248ed6eef5.zip gcc-f101882ada10af2b1b682e56f7a52c248ed6eef5.tar.gz gcc-f101882ada10af2b1b682e56f7a52c248ed6eef5.tar.bz2 |
re PR tree-optimization/43560 (possible wrong code bug)
PR tree-optimization/43560
* gcc.c-torture/execute/pr43560.c: New test.
From-SVN: r158220
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr43560.c | 28 |
2 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1af0673..fe70fb4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/43560 + * gcc.c-torture/execute/pr43560.c: New test. + 2010-04-12 Eric Botcazou <ebotcazou@adacore.com> * 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 0000000..cb420c6 --- /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; +} |