Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 -emit-llvm %s -o -
      2 
      3 struct A {
      4   virtual void Method() = 0;
      5 };
      6 
      7 struct B : public A {
      8   virtual void Method() { }
      9 };
     10 
     11 typedef void (A::*fn_type_a)(void);
     12 typedef void (B::*fn_type_b)(void);
     13 
     14 int main(int argc, char **argv)
     15 {
     16   fn_type_a f = reinterpret_cast<fn_type_a>(&B::Method);
     17   fn_type_b g = reinterpret_cast<fn_type_b>(f);
     18   B b;
     19   (b.*g)();
     20   return 0;
     21 }
     22