1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o - 2*67e74705SXin Li 3*67e74705SXin Li struct Evil { 4*67e74705SXin Li void fun (); 5*67e74705SXin Li }; 6*67e74705SXin Li int foo(); 7*67e74705SXin Li typedef void (Evil::*memfunptr) (); 8*67e74705SXin Li static memfunptr jumpTable[] = { &Evil::fun }; 9*67e74705SXin Li fun()10*67e74705SXin Livoid Evil::fun() { 11*67e74705SXin Li (this->*jumpTable[foo()]) (); 12*67e74705SXin Li } 13