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)9 inline_me (void)
10 {
11   inlined();
12 }
13 
main(void)14 void 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))20 inline_through_me (void (*ptr)(void))
21 {
22   ptr();
23 }
24 
25 void
inline_me_too(void)26 inline_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