* gcc.dg/const-elim-1.c: xfail for xtensa.
[official-gcc.git] / gcc / testsuite / gcc.dg / noreturn-7.c
blob1d94a7ccea59de76c28e9d8f2057f2d2233db9ad
1 /* PR optimization/13394 */
2 /* Origin: Carlo Wood <carlo@gcc.gnu.org> */
4 /* Verify that a bogus "function does return" warning is not issued
5 in presence of tail recursion within a noreturn function. */
7 /* { dg-do compile } */
8 /* { dg-options "-O2 -Wreturn-type -Wmissing-noreturn" } */
11 void f(void) __attribute__ ((__noreturn__));
12 void _exit(int status) __attribute__ ((__noreturn__));
14 int z = 0;
16 void g()
18 if (++z > 10)
19 _exit(0);
20 g();
21 } /* { dg-warning "possible candidate" } */
23 void f()
25 if (++z > 10)
26 _exit(0);
27 f();
28 } /* { dg-bogus "does return" } */
30 int h()
32 if (++z > 10)
33 _exit(0);
34 return h();
35 } /* { dg-bogus "end of non-void function" } */
37 int k()
39 if (++z > 10)
40 _exit(0);
41 k();
42 } /* { dg-warning "end of non-void function" } */