blob: 3f68a523ff43829cc56383ca78516c4e6d0b33ae [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Wshadow-compatible-local" } */
struct Bar
{
};
struct Bar bar; /* { dg-bogus "shadowed declaration" } */
int val; /* { dg-bogus "shadowed declaration" } */
int
func1 (int x)
{ /* { dg-bogus "shadowed declaration" } */
int val; /* { dg-bogus "shadows a global" } */
val = x;
return val;
}
int
func2 (int i)
{
int a = 3; /* { dg-warning "shadowed declaration" } */
int j; /* { dg-warning "shadowed declaration" } */
for (j = 0; j < i; ++j)
{
int a = j; /* { dg-warning "shadows a previous local" } */
int j = a + 1; /* { dg-warning "shadows a previous local" } */
func1 (j);
}
return a;
}
void
func4 ()
{
struct Bar bar; /* { dg-bogus "shadowed declaration" } */
if (val)
{
int bar; /* { dg-bogus "shadows a previous local" } */
func1 (bar);
}
}