1/* { dg-do compile } */ 2/* { dg-options "-O2 -fdump-tree-einline2" } */ 3/* { dg-add-options bind_pic_locally } */ 4 5namespace std { 6 extern "C" void puts(const char *s); 7} 8 9template <class T, class E> void 10foreach (T b, T e, void (*ptr)(E)) 11{ 12 for (; b != e; b++) 13 ptr(*b); 14} 15 16void 17inline_me (char *x) 18{ 19 std::puts(x); 20} 21 22static void 23inline_me_too (char *x) 24{ 25 std::puts(x); 26} 27 28int main(int argc, char **argv) 29{ 30 foreach (argv, argv + argc, inline_me); 31 foreach (argv, argv + argc, inline_me_too); 32} 33 34/* { dg-final { scan-tree-dump-times "Inlining void inline_me\\(" 1 "einline2"} } */ 35/* { dg-final { scan-tree-dump-times "Inlining void inline_me_too\\(" 1 "einline2"} } */ 36/* { dg-final { cleanup-tree-dump "einline2" } } */ 37