This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: vtgc1.C spurious failures
- To: gcc at gcc dot gnu dot org
- Subject: Re: vtgc1.C spurious failures
- From: "Zack Weinberg" <zackw at Stanford dot EDU>
- Date: Fri, 16 Feb 2001 17:27:17 -0800
- References: <20010216171431.N9664@wolery.stanford.edu>
On Fri, Feb 16, 2001 at 05:14:31PM -0800, Zack Weinberg wrote:
> I finally got sick of the flood of errors from vtgc1.C and looked it
> up.
[snip description of mangling changes]
Turns out there's more to it than that... If I change all the regexps
in vtgc1.C to match the new demangler, I still get some (fewer)
failures.
FAIL: $SA vtable for Multivv3::Side0, vtable for Side0
FAIL: $SA vtable for Multivv3::Base2, vtable for Base2
FAIL: $SA vtable for Multiss2::Side0, vtable for Side0
FAIL: $SA vtable for Multivs1::Side0, vtable for Side0
FAIL: $SA vtable for Multisv0::Base2, vtable for Base2
FAIL: $SA vtable for VbasedA::Base2, vtable for Base2
where $SA = 'g++.dg/vtgc1.C scan-assembler .vtable_inherit[ ]*'.
... so I grep out all the .vtable_inherit lines, and sure 'nuff
there's nothing that obviously matches those.
.vtable_inherit VTT for Multivv3, 0
.vtable_inherit vtable for Multivv3, 0
.vtable_inherit vtable for Multiss2, vtable for Base2
.vtable_inherit VTT for Multivs1, vtable for Base2
.vtable_inherit vtable for Multivs1, vtable for Base2
.vtable_inherit VTT for Multisv0, vtable for Side0
.vtable_inherit vtable for Multisv0, vtable for Side0
.vtable_inherit vtable for Side0, 0
.vtable_inherit VTT for VbasedA, 0
.vtable_inherit vtable for VbasedA, 0
.vtable_inherit vtable for Base2, vtable for Base1
.vtable_inherit vtable for Base1, vtable for Base0
.vtable_inherit vtable for Base0, 0
All of these, except the 'VTT for foo' lines, are expected by vtgc1.C.
I imagine that something's changed between the old and new ABIs such
that the missing inherit relocations are no longer necessary, but I
wouldn't know what.
zw