1 /* { dg-require-effective-target trampolines } */ 2 3 extern void abort (void); 4 x(int a,int b)5int 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()31int 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