From: Timur Iskhodzhanov Date: Wed, 16 Oct 2013 11:38:29 +0000 (+0000) Subject: Remove a workaround for PR16406 from the vtables-virtual-inheritance test X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4f0acc8a3354c8d8506e7bd7a165248b34d46837;p=clang Remove a workaround for PR16406 from the vtables-virtual-inheritance test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192786 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp b/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp index 4a7f5da15e..a7ddd37d6f 100644 --- a/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp +++ b/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp @@ -42,7 +42,6 @@ struct C: virtual A { // MANGLING-DAG: @"\01??_7C@@6B@" - ~C(); // Currently required to have correct record layout, see PR16406 virtual void f(); }; @@ -148,7 +147,7 @@ struct X: virtual C { // TEST4: VFTable for 'A' in 'C' in 'Test4::X' (2 entries). // TEST4-NEXT: 0 | void C::f() - // TEST4-NEXT: [this adjustment: 12 non-virtual] + // TEST4-NEXT: [this adjustment: 8 non-virtual] // TEST4-NEXT: 1 | void A::z() // TEST4-NOT: VFTable indices for 'Test4::X' @@ -156,7 +155,7 @@ struct X: virtual C { // MANGLING-DAG: @"\01??_7X@Test4@@6B@" // Also check the mangling of the thunk. - // MANGLING-DAG: define weak x86_thiscallcc void @"\01?f@C@@WPPPPPPPE@AEXXZ" + // MANGLING-DAG: define weak x86_thiscallcc void @"\01?f@C@@WPPPPPPPI@AEXXZ" }; X x; @@ -215,11 +214,11 @@ struct X : C { struct Y : virtual X { // TEST7: VFTable for 'A' in 'C' in 'Test7::X' in 'Test7::Y' (2 entries). // TEST7-NEXT: 0 | void C::f() - // TEST7-NEXT: [this adjustment: 12 non-virtual] + // TEST7-NEXT: [this adjustment: 8 non-virtual] // TEST7-NEXT: 1 | void A::z() // TEST7: Thunks for 'void C::f()' (1 entry). - // TEST7-NEXT: 0 | this adjustment: 12 non-virtual + // TEST7-NEXT: 0 | this adjustment: 8 non-virtual // TEST7-NOT: VFTable indices for 'Test7::Y' @@ -336,8 +335,6 @@ struct W : Z, D, virtual A, virtual B { W w; struct T : Z, D, virtual A, virtual B { - ~T(); // Currently required to have correct record layout, see PR16406 - // TEST9-T: VFTable for 'Test9::Y' in 'Test9::Z' in 'Test9::T' (1 entries). // TEST9-T-NEXT: 0 | void Test9::T::h() @@ -357,15 +354,15 @@ struct T : Z, D, virtual A, virtual B { // TEST9-T: VFTable for 'A' in 'D' in 'Test9::T' (2 entries). // TEST9-T-NEXT: 0 | void Test9::T::f() - // TEST9-T-NEXT: [this adjustment: -16 non-virtual] + // TEST9-T-NEXT: [this adjustment: -8 non-virtual] // TEST9-T-NEXT: 1 | void Test9::T::z() - // TEST9-T-NEXT: [this adjustment: -16 non-virtual] + // TEST9-T-NEXT: [this adjustment: -8 non-virtual] // TEST9-T: Thunks for 'void Test9::T::f()' (1 entry). - // TEST9-T-NEXT: 0 | this adjustment: -16 non-virtual + // TEST9-T-NEXT: 0 | this adjustment: -8 non-virtual // TEST9-T: Thunks for 'void Test9::T::z()' (1 entry). - // TEST9-T-NEXT: 0 | this adjustment: -16 non-virtual + // TEST9-T-NEXT: 0 | this adjustment: -8 non-virtual // TEST9-T: VFTable indices for 'Test9::T' (4 entries). // TEST9-T-NEXT: via vfptr at offset 0