blob: ee6ecc1c37cf44f739afff5a370ee370877f8e88 [file] [log] [blame]
/* PR c/49859 */
/* { dg-do compile } */
extern void foo (int);
extern int j;
void
fn0 (int i)
{
switch (i)
{
int k;
case 1:
k = 11;
foo (k);
}
switch (i)
j = 10; /* { dg-warning "statement will never be executed" } */
switch (i)
;
switch (i)
{
j = 12; /* { dg-warning "statement will never be executed" } */
default:
foo (j);
}
int o;
switch (i)
{
o = 333; /* { dg-warning "statement will never be executed" } */
case 4: break;
default:
foo (o);
}
switch (i)
switch (j) /* { dg-warning "statement will never be executed" } */
{
o = 42; /* { dg-warning "statement will never be executed" } */
case 8:;
}
switch (i)
{
int l = 3; /* { dg-warning "statement will never be executed" } */
o = 5;
j = 7;
++l;
}
switch (i)
{
int x;
int l = 3; /* { dg-warning "statement will never be executed" } */
++l, ++x;
}
switch (i)
if (j != 3) /* { dg-warning "statement will never be executed" } */
foo (j);
switch (i)
while (1)
foo (0);
switch (i)
while (i > 5) { }
switch (i)
goto X; /* { dg-warning "statement will never be executed" } */
X:
switch (i)
do
foo (1);
while (1);
switch (i)
for (;;)
foo (-1);
switch (i)
default:
j = 6;
switch (i)
{
typedef int T;
case 3:
{
T x = 5;
foo (x);
}
}
switch (i)
{
static int g;
default:
foo (g);
}
switch (i)
{
L:
j = 16;
default:
if (j < 5)
goto L;
break;
}
}