2 // { dg-options "-O3 -fdump-ipa-cp" }
7 virtual Distraction * return_self ()
14 static A * __attribute__ ((noinline, noclone)) get_an_A ();
23 A (int pi) : fi (pi) {}
24 virtual void foo (int p) = 0;
27 struct B : public Distraction, A
29 B () : Distraction(), A() { }
30 B (int pi) : Distraction (), A (pi) {}
31 virtual void foo (int p)
34 for (int i = 0; i < p; i++)
42 static A * __attribute__ ((noinline, noclone))
50 static int __attribute__ ((noinline, noclone))
56 extern "C" void abort (void);
58 static void __attribute__ ((noinline, noclone))
61 for (int i = 0; i < get_a_number (); i++)
63 struct A *p = get_an_A ();
70 int main (int argc, char *argv[])
72 for (int i = 0; i < get_a_number (); i++)
74 struct A *p = get_an_A ();
84 /* { dg-final { scan-ipa-dump-times "Thunk fixed offset" 2 "cp"} } */