This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: GCC build failed for native with your patch on 2001-11-30T04:44:42Z.
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 01 Dec 2001 01:37:16 +1300
- Subject: Re: GCC build failed for native with your patch on 2001-11-30T04:44:42Z.
- References: <200111300724.fAU7OIe31713@maat.cygnus.com> <3C07570D.4000805@waitaki.otago.ac.nz> <wvln114jxow.fsf@prospero.cambridge.redhat.com>
Jason Merrill wrote:
>>This was caused by the dbxout.c change. GCJ sets TREE_VIA_VIRTUAL for
>>interfaces but did not set BINFO_VPTR_FIELD.
>>
>
>Thanks. But I'm thinking it probably makes sense just to disable my change
>for Java; if interfaces are always at offset 0, there's no reason to go
>mucking about in the vtable to find them. Is that, in fact, the case?
>
Yes - interfaces are not in the vtable at all, but rather in a separate
"itable". Java objects always have plain-jane single-inheritance vtables.
Looking at dbxout I figured using BINFO_VPTR_FIELD wouldn't make a
difference, but now that I look at dwarf2out I see what you mean. tree.h
actually says that the contents of BINFO_VPTR_FIELD is
language-dependent, so the best fix might be to enable your change only
for c++.
regards
Bryce.