/* Verify that call declarations are not redirected according to indirect inlining edges too early. */ /* { dg-do run } */ /* { dg-options "-O3 -fno-early-inlining" } */ extern void abort (void); int bar (int k) { return k+2; } int baz (int k) { return k+1; } static int foo (int (*p)(int), int i) { return p (i+1); } int (*g)(int) = baz; int main (int argc, char *argv[]) { if (foo (bar, 0) != 3) abort (); if (foo (g, 1) != 3) abort (); return 0; }