This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++: vtable thunks
- To: "Martin v. Loewis" <martin at mira dot isdn dot cs dot tu-berlin dot de>
- Subject: Re: C++: vtable thunks
- From: Jason Merrill <jason at cygnus dot com>
- Date: 08 Jun 1999 03:37:04 -0700
- Cc: egcs-patches at egcs dot cygnus dot com
- References: <199905020655.IAA00603@mira.isdn.cs.tu-berlin.de>
OK, I finally read over this closely. Looks good for the most part. Sorry
it took so long.
Don't use binfo_value in finish_one_ctor_vtable; it should really go away.
Use get_binfo instead.
Don't #if 0 code that you're moving in tsubst_decl; just move it.
I don't like the idea of passing fewer arguments to destructors than they
take. We should find some other way of passing in the vlist, or always add
the extra parameter. Can we pass via the vptr for dtors? The problem you
pointed out with doing that for ctors was that we weren't checking bits in
__in_chrg, which we do for dtors.
I don't understand the doc entry about the order of the vlist, or the code
in finish_ctor_vtables that implements it. Why do we go back to vbases
after dealing with the non-virtual bases? In general, I could use more
rationale in your comments; I can figure out what code is doing more easily
than why it's doing it.
I'm not sure what putting this into 2.95 would actually buy us; most people
won't be using thunks anyway, and it would break binary compatibility to
enable the new code on Linux.
Jason