From f48123b4136d80b1a00f3bd5bd186d40cac11ead Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 9 Aug 2009 18:26:27 +0000 Subject: Improve handling of member pointers. llvm-svn: 78536 --- .../test/CodeGenCXX/member-pointers-zero-init.cpp | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 clang/test/CodeGenCXX/member-pointers-zero-init.cpp (limited to 'clang/test/CodeGenCXX/member-pointers-zero-init.cpp') 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) { } + +} + -- cgit v1.2.3