aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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. */
}