summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-08-21 01:45:00 +0000
committerMike Stump <mrs@apple.com>2009-08-21 01:45:00 +0000
commitb9871a253d351e8776cfa5483d6330d5dffe4562 (patch)
treedb466b696bb0844e45557de8e05265bde9dd67b5 /test
parent3caa4fb0d128575903fa2a024c776a747934538c (diff)
We now support overriding base functions in vtables. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79587 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGenCXX/virt.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/CodeGenCXX/virt.cpp b/test/CodeGenCXX/virt.cpp
index 59aa2efb1e..939ccdf8aa 100644
--- a/test/CodeGenCXX/virt.cpp
+++ b/test/CodeGenCXX/virt.cpp
@@ -620,6 +620,36 @@ class test10_D : test10_B1, test10_B2 {
// CHECK-LP32-NEXT: .long 4294967276
// CHECK-LP32-NEXT: .long __ZTI8test10_D
+struct test11_B {
+ virtual void B1() { }
+ virtual void D() { }
+ virtual void B2() { }
+};
+
+struct test11_D : test11_B {
+ virtual void D1() { }
+ virtual void D() { }
+ virtual void D2() { }
+};
+
+// CHECK-LP32:__ZTV8test11_D:
+// CHECK-LP32-NEXT: .space 4
+// CHECK-LP32-NEXT: .long __ZTI8test11_D
+// CHECK-LP32-NEXT: .long __ZN8test11_B2B1Ev
+// CHECK-LP32-NEXT: .long __ZN8test11_D1DEv
+// CHECK-LP32-NEXT: .long __ZN8test11_B2B2Ev
+// CHECK-LP32-NEXT: .long __ZN8test11_D2D1Ev
+// CHECK-LP32-NEXT: .long __ZN8test11_D2D2Ev
+
+
+// CHECK-LP64:__ZTV8test11_D:
+// CHECK-LP64-NEXT: .space 8
+// CHECK-LP64-NEXT: .quad __ZTI8test11_D
+// CHECK-LP64-NEXT: .quad __ZN8test11_B2B1Ev
+// CHECK-LP64-NEXT: .quad __ZN8test11_D1DEv
+// CHECK-LP64-NEXT: .quad __ZN8test11_B2B2Ev
+// CHECK-LP64-NEXT: .quad __ZN8test11_D2D1Ev
+// CHECK-LP64-NEXT: .quad __ZN8test11_D2D2Ev
@@ -702,6 +732,7 @@ class test10_D : test10_B1, test10_B2 {
// CHECK-LP64-NEXT: .quad __ZN2D14bar5Ev
+test11_D d11;
test10_D d10;
test9_D d9;
test8_D d8;