From 628ce22b27ee5839cde4a7e52f06ef7b556c6add Mon Sep 17 00:00:00 2001 From: jakub Date: Tue, 25 Jan 2011 19:50:56 +0000 Subject: PR tree-optimization/47265 PR tree-optimization/47443 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false if name still has some uses. * gcc.c-torture/compile/pr47265.c: New test. * gcc.dg/pr47443.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169250 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.c-torture/compile/pr47265.c | 20 ++++++++++++++++++++ gcc/testsuite/gcc.dg/pr47443.c | 14 ++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr47265.c create mode 100644 gcc/testsuite/gcc.dg/pr47443.c (limited to 'gcc/testsuite') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b23f02dd465..24fbc0bba06 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2011-01-25 Jakub Jelinek + + PR tree-optimization/47265 + PR tree-optimization/47443 + * gcc.c-torture/compile/pr47265.c: New test. + * gcc.dg/pr47443.c: New test. + 2011-01-25 Martin Jambor PR tree-optimization/47382 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr47265.c b/gcc/testsuite/gcc.c-torture/compile/pr47265.c new file mode 100644 index 00000000000..183c3f98621 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr47265.c @@ -0,0 +1,20 @@ +/* PR tree-optimization/47265 */ + +struct S +{ + char a[3]; + char b[3]; +}; + +void +bar (char *dst, const char *src, unsigned n) +{ + while (n--) + *dst++ = *src ? *src++ : ' '; +} + +void +foo (struct S *s) +{ + bar (s->a, s->b, 3); +} diff --git a/gcc/testsuite/gcc.dg/pr47443.c b/gcc/testsuite/gcc.dg/pr47443.c new file mode 100644 index 00000000000..fa7d6b98ad3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr47443.c @@ -0,0 +1,14 @@ +/* PR tree-optimization/47443 */ +/* { dg-do compile } */ +/* { dg-options "-O -fstack-check=generic" } */ + +static inline bar (char *c, int i) +{ + return c + i > c; +} + +int foo () +{ + char c[100]; + return (bar (c, 1)); +} -- cgit v1.2.1