1/* Verify that call declarations are not redirected according to indirect 2 inlining edges too early. */ 3/* { dg-do run } */ 4/* { dg-options "-O3 -fno-early-inlining" } */ 5 6extern void abort (void); 7 8int bar (int k) 9{ 10 return k+2; 11} 12 13int baz (int k) 14{ 15 return k+1; 16} 17 18static int foo (int (*p)(int), int i) 19{ 20 return p (i+1); 21} 22 23int (*g)(int) = baz; 24 25int main (int argc, char *argv[]) 26{ 27 if (foo (bar, 0) != 3) 28 abort (); 29 if (foo (g, 1) != 3) 30 abort (); 31 32 return 0; 33} 34