blob: 8d2f658b87cd6e55ea4cf2a0f6d68ce02b20b755 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3" } */
int a, b, c;
struct S
{
int f0;
int f1;
} d;
static int fn2 (struct S);
void fn3 (struct S);
void
fn1 (struct S p)
{
struct S h = { 0, 0 };
fn3 (p);
fn2 (h);
}
int
fn2 (struct S p)
{
struct S j = { 0, 0 };
fn3 (p);
fn2 (j);
return 0;
}
void
fn3 (struct S p)
{
for (; b; a++)
c = p.f0;
fn1 (d);
}
void
fn4 ()
{
for (;;)
{
struct S f = { 0, 0 };
fn1 (f);
}
}