aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/always_inline3.c
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/testsuite/gcc.dg/always_inline3.c
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/testsuite/gcc.dg/always_inline3.c')
-rw-r--r--gcc/testsuite/gcc.dg/always_inline3.c7
1 files changed, 4 insertions, 3 deletions
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. */
}