1 /* { dg-do compile } */
2 /* { dg-options "-Wjump-misses-init -std=c99" } */
3 extern void f1 ();
4 int
f2(int a)5 f2 (int a)
6 {
7   switch (a)		/* { dg-message "switch" } */
8     {
9     case 1:
10       f1 ();
11       int v2 = 3;	/* { dg-message "here" } */
12     case 2:		/* { dg-warning "jump" } */
13       if (v2 == 7)
14 	f1 ();
15     }
16   return 0;
17 }
18 
19 int
f3(int i)20 f3 (int i)
21 {
22   if (i)
23     goto bad;		/* { dg-warning "jump" } */
24   int a = f2 (i); 	/* { dg-message "here" } */
25  bad:			/* { dg-message "here" } */
26   return a;
27 }
28 
29 int
f4(int a)30 f4 (int a)
31 {
32   switch (a)
33     {
34     case 1:
35       f1 ();
36       static int v2 = 3;
37     case 2:
38       if (v2 == 7)
39 	f1 ();
40     }
41   return 0;
42 }
43 
44 int
f5(int i)45 f5 (int i)
46 {
47   if (i)
48     goto bad;
49   static int a = 6;
50  bad:
51   return a;
52 }
53