summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/vtable-layout.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-12-02 13:20:44 +0000
committerdim <dim@FreeBSD.org>2012-12-02 13:20:44 +0000
commit056abd2059c65a3e908193aeae16fad98017437c (patch)
tree2732d02d7d51218d6eed98ac7fcfc5b8794896b5 /test/CodeGenCXX/vtable-layout.cpp
parentcc73504950eb7b5dff2dded9bedd67bc36d64641 (diff)
downloadFreeBSD-src-056abd2059c65a3e908193aeae16fad98017437c.zip
FreeBSD-src-056abd2059c65a3e908193aeae16fad98017437c.tar.gz
Vendor import of clang release_32 branch r168974 (effectively, 3.2 RC2):
http://llvm.org/svn/llvm-project/cfe/branches/release_32@168974
Diffstat (limited to 'test/CodeGenCXX/vtable-layout.cpp')
-rw-r--r--test/CodeGenCXX/vtable-layout.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGenCXX/vtable-layout.cpp b/test/CodeGenCXX/vtable-layout.cpp
index d7644b9..1e831d2 100644
--- a/test/CodeGenCXX/vtable-layout.cpp
+++ b/test/CodeGenCXX/vtable-layout.cpp
@@ -43,6 +43,7 @@
// RUN: FileCheck --check-prefix=CHECK-42 %s < %t
// RUN: FileCheck --check-prefix=CHECK-43 %s < %t
// RUN: FileCheck --check-prefix=CHECK-44 %s < %t
+// RUN: FileCheck --check-prefix=CHECK-45 %s < %t
// For now, just verify this doesn't crash.
namespace test0 {
@@ -1727,3 +1728,23 @@ namespace Test38 {
void *B::foo() { return 0; }
}
+
+namespace Test39 {
+ struct A {
+ virtual void foo() = delete;
+ };
+
+ // CHECK-45: Vtable for 'Test39::B' (4 entries).
+ // CHECK-45-NEXT: 0 | offset_to_top (0)
+ // CHECK-45-NEXT: 1 | Test39::B RTTI
+ // CHECK-45-NEXT: -- (Test39::A, 0) vtable address --
+ // CHECK-45-NEXT: -- (Test39::B, 0) vtable address --
+ // CHECK-45-NEXT: 2 | void Test39::A::foo() [deleted]
+ // CHECK-45-NEXT: 3 | void Test39::B::foo2()
+ struct B: A {
+ virtual void foo2();
+ };
+
+ void B::foo2() {
+ }
+}
OpenPOWER on IntegriCloud