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