aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/pointers-to-data-members.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-02-02 03:32:35 +0000
committerAnders Carlsson <andersca@mac.com>2010-02-02 03:32:35 +0000
commit63b071f28ea936772634c176a34de2bf0301f79c (patch)
treee1ae3ebf3ef27483e0e7a2ef5c170c1ed50c5ef7 /test/CodeGenCXX/pointers-to-data-members.cpp
parentfe40456f0c0060097564cecaf7faada39185463a (diff)
Merge a test into pointers-to-data-members.cpp and convert it to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95061 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/pointers-to-data-members.cpp')
-rw-r--r--test/CodeGenCXX/pointers-to-data-members.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/CodeGenCXX/pointers-to-data-members.cpp b/test/CodeGenCXX/pointers-to-data-members.cpp
index 567e3f3740..c34bd5b114 100644
--- a/test/CodeGenCXX/pointers-to-data-members.cpp
+++ b/test/CodeGenCXX/pointers-to-data-members.cpp
@@ -4,6 +4,38 @@ struct A { int a; };
struct B { int b; };
struct C : B, A { };
+// Zero init.
+namespace ZeroInit {
+ // CHECK: @_ZN8ZeroInit1aE = global i64 -1
+ int A::* a;
+
+ // CHECK: @_ZN8ZeroInit2aaE = global [2 x i64] [i64 -1, i64 -1]
+ int A::* aa[2];
+
+ // CHECK: @_ZN8ZeroInit3aaaE = global [2 x [2 x i64]] {{\[}}[2 x i64] [i64 -1, i64 -1], [2 x i64] [i64 -1, i64 -1]]
+ int A::* aaa[2][2];
+
+ // CHECK: @_ZN8ZeroInit1bE = global i64 -1,
+ int A::* b = 0;
+
+ void f() {
+ // CHECK: icmp ne i64 {{.*}}, -1
+ if (a) { }
+
+ // CHECK: icmp ne i64 {{.*}}, -1
+ if (a != 0) { }
+
+ // CHECK: icmp ne i64 -1, {{.*}}
+ if (0 != a) { }
+
+ // CHECK: icmp eq i64 {{.*}}, -1
+ if (a == 0) { }
+
+ // CHECK: icmp eq i64 -1, {{.*}}
+ if (0 == a) { }
+ }
+}
+
// Casts.
namespace Casts {