1 /* Verify that we do not indirect-inline using member pointer
2 parameters which have been modified. */
4 /* { dg-options "-O3 -fno-early-inlining" } */
5 /* { dg-add-options bind_pic_locally } */
7 extern "C" void abort (void);
15 String (const char *d) : data(d)
18 int funcOne (int stuff) const;
19 int funcTwo (int stuff) const;
23 int String::funcOne (int stuff) const
28 int String::funcTwo (int stuff) const
33 int (String::* gmp)(int stuff) const = &String::funcTwo;
35 int docalling_1 (int (String::* f)(int stuff) const)
37 String S ("muhehehe");
42 int docalling (int a, int (String::* f)(int stuff) const)
47 return docalling_1 (f);
50 int __attribute__ ((noinline,noclone)) get_input (void)
55 int main (int argc, char *argv[])
59 i += docalling (get_input (), &String::funcOne);