1/* { dg-do compile } */
2/* { dg-options "-Wjump-misses-init -std=c99" } */
3extern void f1 ();
4int
5f2 (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
19int
20f3 (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
29int
30f4 (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
44int
45f5 (int i)
46{
47  if (i)
48    goto bad;
49  static int a = 6;
50 bad:
51  return a;
52}
53