/*{ dg-options "-findirect-inlining" }*/ void bar (); static void f4 (double di, double d, double *dd) { if (d == 0 && di == 0) *dd = 0; bar (); } static inline void f3 (int i, double d) { double di = i; double dd; f4 (di, d, &dd); } static inline void f2 (int i, double d) { if (d < 0) f3 (i, d); } void f1 () { f2 (0, 1); }