This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ PATCH] Fix 9629
- From: Jason Merrill <jason at redhat dot com>
- To: Nathan Sidwell <nathan at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Mark Mitchell <mark at codesourcery dot com>
- Date: Fri, 14 Mar 2003 12:32:53 -0500
- Subject: Re: [C++ PATCH] Fix 9629
- References: <3E720675.5070700@codesourcery.com>
On Fri, 14 Mar 2003 16:42:29 +0000, Nathan Sidwell <nathan at codesourcery dot com> wrote:
> In a base class initializer, we cannot rely on the vtable being set up.
> This means virtual base class conversions have to use the VTT parm.
> Rather than use the VTT parm unconditionally during a constructor,
> I only use it during base initializers -- that way we don't need
> to keep the VTT parm live after the base initializers and vtables
> have been set up.
So now we have three cases in build_base_path: If we're in a complete
[cd]tor, we use a constant offset. If we're in a base initializer in a
base [cd]tor, we use the VTT. Otherwise, we use the vtable.
Whee!
Jason