diff options
author | Mike Stump <mrs@apple.com> | 2009-08-04 21:58:42 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-08-04 21:58:42 +0000 |
commit | 104ffaaa05d31d0a3dc886b7b18ebb2496bc2af4 (patch) | |
tree | 200e5f5aba8558ac93cf5831d219ab6357a6ba74 /test/CodeGenCXX/virt.cpp | |
parent | ac5fc7c6bcb494b60fee7ce615ac931c5db6135e (diff) |
vtable building for simple inheritance. Still in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78110 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/virt.cpp')
-rw-r--r-- | test/CodeGenCXX/virt.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/test/CodeGenCXX/virt.cpp b/test/CodeGenCXX/virt.cpp index fdca3f4a15..e77abaa6f5 100644 --- a/test/CodeGenCXX/virt.cpp +++ b/test/CodeGenCXX/virt.cpp @@ -4,15 +4,20 @@ // RUN: FileCheck -check-prefix LP32 -input-file=%t-32.s %s && // RUN: true -class A { +struct B { + virtual void bar1(); + virtual void bar2(); +}; + +static_assert (sizeof (B) == (sizeof(void *)), "vtable pointer layout"); + +class A : public B { public: virtual void foo1(); virtual void foo2(); A() { } } *a; -static_assert (sizeof (A) == (sizeof(void *)), "vtable pointer layout"); - int main() { A a; } @@ -20,11 +25,15 @@ int main() { // CHECK-LP64: __ZTV1A: // CHECK-LP64: .space 8 // CHECK-LP64: .space 8 +// CHECK-LP64: .quad __ZN1B4bar1Ev +// CHECK-LP64: .quad __ZN1B4bar2Ev // CHECK-LP64: .quad __ZN1A4foo1Ev // CHECK-LP64: .quad __ZN1A4foo2Ev // CHECK-LP32: __ZTV1A: // CHECK-LP32: .space 4 // CHECK-LP32: .space 4 +// CHECK-LP32: .long __ZN1B4bar1Ev +// CHECK-LP32: .long __ZN1B4bar2Ev // CHECK-LP32: .long __ZN1A4foo1Ev // CHECK-LP32: .long __ZN1A4foo2Ev |