59 lines
571 B
C
59 lines
571 B
C
|
/* { dg-do compile } */
|
||
|
/* { dg-options "-O -fgcse" } */
|
||
|
|
||
|
extern void fe ();
|
||
|
|
||
|
extern int i;
|
||
|
|
||
|
static inline void
|
||
|
FX (void (*f) ())
|
||
|
{
|
||
|
fe ();
|
||
|
(*f) ();
|
||
|
}
|
||
|
|
||
|
static inline void
|
||
|
f4 ()
|
||
|
{
|
||
|
for (;;)
|
||
|
switch (i)
|
||
|
{
|
||
|
case 306:
|
||
|
FX (&fe);
|
||
|
break;
|
||
|
default:
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static inline void
|
||
|
f3 ()
|
||
|
{
|
||
|
f4 ();
|
||
|
for (;;)
|
||
|
switch (i)
|
||
|
{
|
||
|
case 267:
|
||
|
FX (&f4);
|
||
|
break;
|
||
|
default:
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static inline void
|
||
|
f2 ()
|
||
|
{
|
||
|
f3 ();
|
||
|
while (i)
|
||
|
FX (&f3);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
f1 ()
|
||
|
{
|
||
|
f2 ();
|
||
|
while (1)
|
||
|
FX (&f2);
|
||
|
}
|