This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ PATCH] Fix 9629


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]