1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-einline --param max-early-inliner-iterations=2" } */ 3 /* { dg-add-options bind_pic_locally } */ 4 5 extern void inlined (); 6 void inline_me_too (void); 7 void inline_through_me (void (*ptr)(void)); 8 void inline_me(void)9inline_me (void) 10 { 11 inlined(); 12 } 13 main(void)14void main(void) 15 { 16 inline_through_me (inline_me); 17 inline_through_me (inline_me_too); 18 } 19 void inline_through_me(void (* ptr)(void))20inline_through_me (void (*ptr)(void)) 21 { 22 ptr(); 23 } 24 25 void inline_me_too(void)26inline_me_too (void) 27 { 28 inlined(); 29 } 30 /* { dg-final { scan-tree-dump-times "Inlining inline_me " 1 "einline"} } */ 31 /* { dg-final { scan-tree-dump-times "Inlining inline_me_too " 1 "einline"} } */ 32