OSDN Git Service

2009-03-29 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / pr24135.c
1 #ifndef NO_TRAMPOLINES
2 extern void abort (void);
3
4 int x(int a, int b)
5 {
6   __label__ xlab;
7   __label__ xlab2;
8
9   void y(int b)
10     {
11        switch (b)
12         {
13           case 1: goto xlab;
14           case 2: goto xlab;
15         }
16     }
17
18   a = a + 2;
19   y (b);
20
21  xlab:
22   return a;
23
24  xlab2:
25   a++;
26   return a;
27
28 }
29
30 int main ()
31 {
32   int i, j;
33
34   for (j = 1; j <= 2; ++j)
35     for (i = 1; i <= 2; ++i)
36       {
37         int a = x (j, i);
38         if (a != 2 + j)
39           abort ();
40       }
41
42   return 0;
43 }
44 #else
45 int main() { return 0; }
46 #endif