PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / nestfunc-5.c
blobfc9ad955a9f2089e807e7bef24e3e523450cee4e
1 /* { dg-require-effective-target trampolines } */
3 extern void abort (void);
4 extern void exit (int);
6 static void recursive (int n, void (*proc) (void))
8 __label__ l1;
10 void do_goto (void)
12 goto l1;
15 if (n == 3)
16 recursive (n - 1, do_goto);
17 else if (n > 0)
18 recursive (n - 1, proc);
19 else
20 (*proc) ();
21 return;
23 l1:
24 if (n == 3)
25 exit (0);
26 else
27 abort ();
30 int main ()
32 recursive (10, abort);
33 abort ();