Introduce class rtx_reader
[official-gcc.git] / gcc / testsuite / g++.dg / ext / attr-ifunc-4.C
blob0cae41028b5d9c3d35a3995860df6b9ce66a97e1
1 /* { dg-do run }  */
2 /* { dg-require-ifunc "" } */
3 /* { dg-options "-Wno-pmf-conversions" } */
5 #include <stdio.h>
7 struct Klass
9   virtual int magic () = 0;
12 struct Klassier : Klass
14   int implementation ();
15   int magic ();
16   static void *resolver ();
19 int Klassier::implementation (void)
21   printf ("'ere I am JH\n");
22   return 0;
25 void *Klassier::resolver (void)
27   int (Klassier::*pmf) () = &Klassier::implementation;
28   
29   return (void *)(int (*)(Klassier *))(((Klassier *)0)->*pmf);
32 int Klassier::magic (void) __attribute__ ((ifunc ("_ZN8Klassier8resolverEv")));
34 int __attribute__ ((weak)) Foo (Klass &base)
36   return base.magic ();
39 int main ()
41   Klassier obj;
42   
43   return Foo (obj) != 0;