aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-01-14 19:23:31 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2007-01-14 18:23:31 +0000
commit4f69811862d880a8d2340500dbf7a7aead2d71f3 (patch)
treee49b39685a9c9c3f4465a7f83c740d29e0b0f54a /gcc
parentad703964804d16c768e2c9b9a999df59bf42e9d4 (diff)
downloadgcc-4f69811862d880a8d2340500dbf7a7aead2d71f3.zip
gcc-4f69811862d880a8d2340500dbf7a7aead2d71f3.tar.gz
gcc-4f69811862d880a8d2340500dbf7a7aead2d71f3.tar.bz2
always_inline3.c: Update for pre-inline tail recursion elimination.
* gcc.dg/always_inline3.c: Update for pre-inline tail recursion elimination. From-SVN: r120777
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/always_inline3.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8402f29..ed3350d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/always_inline3.c: Update for pre-inline tail recursion
+ elimination.
+
2007-01-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30410
diff --git a/gcc/testsuite/gcc.dg/always_inline3.c b/gcc/testsuite/gcc.dg/always_inline3.c
index e1a337c..7b575d7 100644
--- a/gcc/testsuite/gcc.dg/always_inline3.c
+++ b/gcc/testsuite/gcc.dg/always_inline3.c
@@ -1,10 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-Winline -O2" } */
-void do_something_evil (void);
+int do_something_evil (void);
inline __attribute__ ((always_inline)) void
q2(void)
{ /* { dg-error "recursive" "" } */
- do_something_evil ();
- q2(); /* { dg-error "called from here" "" } */
+ if (do_something_evil ())
+ return;
q2(); /* { dg-error "called from here" "" } */
+ q2(); /* With -O2 we don't warn here, it is eliminated by tail recursion. */
}