OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / always_inline3.c
index e1a337c..369bb87 100644 (file)
@@ -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" "" } */
-  q2();                        /* { dg-error "called from here" "" } */
+{                              /* { dg-message "recursive" "" } */
+  if (do_something_evil ())
+    return;
+  q2();                        /* { dg-message "called from here" "" } */
+  q2(); /* With -O2 we don't warn here, it is eliminated by tail recursion.  */
 }