summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/member-pointers-zero-init.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-08-09 18:26:27 +0000
committerAnders Carlsson <andersca@mac.com>2009-08-09 18:26:27 +0000
commitf48123b4136d80b1a00f3bd5bd186d40cac11ead (patch)
treef4b530f7d2ccb5cab1b510a0e89e5e21feb5dc89 /clang/test/CodeGenCXX/member-pointers-zero-init.cpp
parenta96114ed087b924b9e8c912dacf364d5738666be (diff)
downloadbcm5719-llvm-f48123b4136d80b1a00f3bd5bd186d40cac11ead.tar.gz
bcm5719-llvm-f48123b4136d80b1a00f3bd5bd186d40cac11ead.zip
Improve handling of member pointers.
llvm-svn: 78536
Diffstat (limited to 'clang/test/CodeGenCXX/member-pointers-zero-init.cpp')
-rw-r--r--clang/test/CodeGenCXX/member-pointers-zero-init.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/member-pointers-zero-init.cpp b/clang/test/CodeGenCXX/member-pointers-zero-init.cpp
new file mode 100644
index 00000000000..db7c71a0d4b
--- /dev/null
+++ b/clang/test/CodeGenCXX/member-pointers-zero-init.cpp
@@ -0,0 +1,24 @@
+// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9 &&
+
+struct A {
+ int i;
+};
+
+// RUN: grep "@a = global i64 -1" %t &&
+int A::* a;
+
+// RUN: grep "@aa = global \[2 x i64\] \[i64 -1, i64 -1\], align 8" %t &&
+int A::* aa[2];
+
+// RUN: grep "@aaa = global \[2 x \[2 x i64\]\] \[\[2 x i64\] \[i64 -1, i64 -1\], \[2 x i64\] \[i64 -1, i64 -1\]\]" %t &&
+int A::* aaa[2][2];
+
+void f() {
+ // RUN: grep "%.obool = icmp ne i64 %.mp, -1" %t
+ if (a) { }
+
+ // FIXME: This doesn't yet work
+// if (a != 0) { }
+
+}
+
OpenPOWER on IntegriCloud