1/* A slight variation of 920501-7.c.  */
2
3#ifdef STACK_SIZE
4#define DEPTH ((STACK_SIZE) / 512 + 1)
5#else
6#define DEPTH 1000
7#endif
8
9#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
10x(a)
11{
12  __label__ xlab;
13  void y(a)
14    {
15      void *x = &&llab;
16      if (a==-1)
17	goto *x;
18      if (a==0)
19	goto xlab;
20    llab:
21      y (a-1);
22    }
23  y (a);
24 xlab:;
25  return a;
26}
27#endif
28
29main ()
30{
31#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
32  if (x (DEPTH) != DEPTH)
33    abort ();
34#endif
35  exit (0);
36}
37