Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -O3 -o - | FileCheck %s
      2 struct A {
      3   virtual int vf1() { return 1; }
      4   virtual int vf2() { return 2; }
      5 };
      6 
      7 int f(A* a, int (A::*fp)()) {
      8   return (a->*fp)();
      9 }
     10 
     11 // CHECK: define i32 @_Z2g1v()
     12 // CHECK: ret i32 1
     13 int g1() {
     14   A a;
     15   return f(&a, &A::vf1);
     16 }
     17 
     18 // CHECK: define i32 @_Z2g2v()
     19 // CHECK: ret i32 2
     20 int g2() {
     21   A a;
     22   return f(&a, &A::vf2);
     23 }
     24