summaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-08-20 00:17:18 +0000
committerEric Christopher <echristo@apple.com>2011-08-20 00:17:18 +0000
commitaeac10e7b074d87522ccc5fad919417092971c57 (patch)
tree9c6cef28c28d51daa3a55aef4ff73a9bc5c3e114 /test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp
parent2368b6af4a5f0c07c7b77f8900a956dce75bbf84 (diff)
downloadclang-aeac10e7b074d87522ccc5fad919417092971c57.tar.gz
Migrate, FileCheckize and update:
2003-11-02-WeakLinkage.cpp 2003-11-18-PtrMemConstantInitializer.cpp 2003-11-25-ReturningOpaqueByValue.cpp 2003-11-27-MultipleInheritanceThunk.cpp 2003-11-29-DuplicatedCleanupTest.cpp 2003-12-08-ArrayOfPtrToMemberFunc.cpp 2004-01-11-DynamicInitializedConstant.cpp from llvm/test/FrontendC++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138162 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp')
-rw-r--r--test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp b/test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp
new file mode 100644
index 0000000000..38de271b61
--- /dev/null
+++ b/test/CodeGenCXX/2003-12-08-ArrayOfPtrToMemberFunc.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -emit-llvm %s -o -
+
+struct Evil {
+ void fun ();
+};
+int foo();
+typedef void (Evil::*memfunptr) ();
+static memfunptr jumpTable[] = { &Evil::fun };
+
+void Evil::fun() {
+ (this->*jumpTable[foo()]) ();
+}