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