53 lines
714 B
C
53 lines
714 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-Wjump-misses-init -std=c99" } */
|
|
extern void f1 ();
|
|
int
|
|
f2 (int a)
|
|
{
|
|
switch (a) /* { dg-message "switch" } */
|
|
{
|
|
case 1:
|
|
f1 ();
|
|
int v2 = 3; /* { dg-message "here" } */
|
|
case 2: /* { dg-warning "jump" } */
|
|
if (v2 == 7)
|
|
f1 ();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
f3 (int i)
|
|
{
|
|
if (i)
|
|
goto bad; /* { dg-warning "jump" } */
|
|
int a = f2 (i); /* { dg-message "here" } */
|
|
bad: /* { dg-message "here" } */
|
|
return a;
|
|
}
|
|
|
|
int
|
|
f4 (int a)
|
|
{
|
|
switch (a)
|
|
{
|
|
case 1:
|
|
f1 ();
|
|
static int v2 = 3;
|
|
case 2:
|
|
if (v2 == 7)
|
|
f1 ();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
f5 (int i)
|
|
{
|
|
if (i)
|
|
goto bad;
|
|
static int a = 6;
|
|
bad:
|
|
return a;
|
|
}
|