aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/virt.cpp
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2010-01-22 06:45:05 +0000
committerMike Stump <mrs@apple.com>2010-01-22 06:45:05 +0000
commitfc9f16c9e64fa145b454ce4e7b7ecdbb3aecdcf3 (patch)
treef6cbf51be647ee1e067ea70e7e806dc7f3287edf /test/CodeGenCXX/virt.cpp
parentb79b117d3b76da58b14ef835ccfcf2e988b7345f (diff)
Ensure we output all non-virtual base vtables. Fixes PR5890.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94163 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/virt.cpp')
-rw-r--r--test/CodeGenCXX/virt.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGenCXX/virt.cpp b/test/CodeGenCXX/virt.cpp
index 20ea1d5301..2717d6cf94 100644
--- a/test/CodeGenCXX/virt.cpp
+++ b/test/CodeGenCXX/virt.cpp
@@ -1077,7 +1077,21 @@ class test21_D : public test21_B, public test21_B1 {
// CHECK-LP64-NEXT .quad (__ZTV8test21_D) + 80
+struct test22_s1 { virtual void dtor() { } };
+struct test22_s2 { virtual void dtor() { } };
+struct test22_s3 : test22_s1, test22_s2 { virtual void dtor() { } };
+struct test22_D : test22_s3 { virtual void dtor() { } };
+// CHECK-LP64: __ZTV8test22_D:
+// CHECK-LP64-NEXT: .quad 0
+// CHECK-LP64-NEXT: .quad __ZTI8test22_D
+// CHECK-LP64-NEXT: .quad __ZN8test22_D4dtorEv
+// CHECK-LP64-NEXT: .quad 18446744073709551608
+// CHECK-LP64-NEXT: .quad __ZTI8test22_D
+// CHECK-LP64-NEXT: .quad __ZThn8_N8test22_D4dtorEv
+
+
+test22_D d22;
test21_D d21;
test20_D d20;
test19_D d19;