1 /* { dg-require-effective-target trampolines } */
2 
3 extern void abort (void);
4 
x(int a,int b)5 int x(int a, int b)
6 {
7   __label__ xlab;
8   __label__ xlab2;
9 
10   void y(int b)
11     {
12        switch (b)
13         {
14           case 1: goto xlab;
15           case 2: goto xlab;
16         }
17     }
18 
19   a = a + 2;
20   y (b);
21 
22  xlab:
23   return a;
24 
25  xlab2:
26   a++;
27   return a;
28 
29 }
30 
main()31 int main ()
32 {
33   int i, j;
34 
35   for (j = 1; j <= 2; ++j)
36     for (i = 1; i <= 2; ++i)
37       {
38 	int a = x (j, i);
39 	if (a != 2 + j)
40 	  abort ();
41       }
42 
43   return 0;
44 }
45