diff options
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 |