1 /* { dg-do compile } */
2 /* { dg-options "-O -fno-guess-branch-probability -findirect-inlining" } */
3 
4 void fe (void);
5 int i;
6 
7 static inline void
FX(void (* f)(void))8 FX (void (*f) (void))
9 {
10   fe ();
11   (*f) ();
12 }
13 
14 static inline void
f4()15 f4 ()
16 {
17   if (i)
18     FX (fe);
19 }
20 
21 static inline void
f3(void)22 f3 (void)
23 {
24   f4 ();
25   if (i)
26     FX (f4);
27 }
28 
29 static inline void
f2(void)30 f2 (void)
31 {
32   FX (&f3);
33 }
34 
35 void
f1(void)36 f1 (void)
37 {
38   FX (&f2);
39 }
40