From 9beac787c17a51a3b1a9b75dcce45f85f057d67c Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Tue, 4 Aug 2009 21:58:42 +0000 Subject: vtable building for simple inheritance. Still in progress. llvm-svn: 78110 --- clang/test/CodeGenCXX/virt.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'clang/test/CodeGenCXX') diff --git a/clang/test/CodeGenCXX/virt.cpp b/clang/test/CodeGenCXX/virt.cpp index fdca3f4a15b..e77abaa6f56 100644 --- a/clang/test/CodeGenCXX/virt.cpp +++ b/clang/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 -- cgit v1.2.3