aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-05-13 19:50:01 +0000
committerChris Lattner <sabre@nondot.org>2003-05-13 19:50:01 +0000
commit1f1f371d122e6b9891ff111f067da8e49721bbea (patch)
tree4a7daa8b81daaaf4309a2da54c4eae3d2b380d14
parent5bd1acc0d6c9b5bbb33625bfda6ae4e0acbf9190 (diff)
Make test cases executable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6166 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/C++Frontend/pointer_member.cpp12
-rw-r--r--test/C++Frontend/pointer_method.cpp25
2 files changed, 32 insertions, 5 deletions
diff --git a/test/C++Frontend/pointer_member.cpp b/test/C++Frontend/pointer_member.cpp
index 3c8e25fe70..46ad7c3a1f 100644
--- a/test/C++Frontend/pointer_member.cpp
+++ b/test/C++Frontend/pointer_member.cpp
@@ -1,5 +1,17 @@
+#include <stdio.h>
+
struct B { int i, j; };
struct D : public B {};
int D::*di = &D::i;
int D::*dj = &D::j;
+int main() {
+ D d;
+ d.i = d.j = 0;
+ d.*di = 4;
+ d.*dj = 7;
+
+ printf("%d %d\n", d.i, d.j);
+
+ return 0;
+}
diff --git a/test/C++Frontend/pointer_method.cpp b/test/C++Frontend/pointer_method.cpp
index d499a7ef09..a8f76ab20c 100644
--- a/test/C++Frontend/pointer_method.cpp
+++ b/test/C++Frontend/pointer_method.cpp
@@ -1,8 +1,23 @@
-struct B { int i(); int j(); };
+#include <stdio.h>
-void foo(int (B::*Fn)());
+struct B {
+ int X;
+ void i() {
+ printf("i, %d\n", X);
+ }
+ void j() {
+ printf("j, %d\n", X);
+ }
+};
-void test() {
- foo(&B::i);
- foo(&B::j);
+void foo(int V, void (B::*Fn)()) {
+ B b; b.X = V;
+ (b.*Fn)();
+}
+
+int main() {
+ foo(4, &B::i);
+ foo(6, &B::j);
+ foo(-1, &B::i);
+ return 0;
}