This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ patch] Hookize output_vtable_inherit
On Mon, 2003-07-28 at 15:44, Jan Hubicka wrote:
> > On Sun, 2003-07-27 at 13:55, Jan Hubicka wrote:
> > > > Jan Hubicka <jh@suse.cz> writes:
> > > >
> > > > >> On Sat, 2003-06-21 at 12:06, Jan Hubicka wrote:
> > > > >> >
> > > > >> > Hi,
> > > > >> > this patch adds hooks to assemble_variable to deal with output_vtable_inherit
> > > > >> > as discussed earlier. I didn't find pleasant way to discover virtual tables
> > > > >> > and vtts, so I simply look for them in the list.
> > > > >>
> > > > >> That's no good; let's not turn what used to be a constant-time operation
> > > > >> into a linear-time operation. Add a mark bit if you need one.
> > > > > OK, here is updated patch. There does not appear to be language
> > > > > specific decl flag but I can use generic tree flag.
> > > > > Does this look better?
> > > > >
> > > > > (regtested/bootstrapped x86-64)
> > > > >
> > > > > Mon Jun 23 20:11:36 CEST 2003 Jan Hubicka <jh@suse.cz>
> > > > > * class.c (build_vtable): Make vtables.
> > > > > * cp-tree.h (DECL_VTABLE_OR_VTT_P): New macro.
> > > > > * decl2.c (output_vtable_inherit): Rename to ...
> > > > > (prepare_assemble_variable): ... this one; change interface.
> > > > > (maybe_emit_vtables): Do not call output_vtable_inherit.
> > > > > * cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Define.
> > > > > * cp-tree.h (prepare_assemble_variable): New.
> > > >
> > > > This causes the assembler to barf because it expects the first
> > > > argument of .vtable_inherit to be already defined, but now the
> > > > directive is output before the definition. See the selective4 and
> > > > selective5 tests in the ld testsuite.
> > >
> > > OK, then we have two choices, rename prepare_assmble_variable into
> > > something else (what?) and call it afterwards or drop the feature as it
> > > was claimed to be useless nowdays anyway.
> >
> > Drop the feature.
>
> It does not kill the prepare_assemble_variable hook yet. I still do
> have one use for it, but I will probably drop it anyway.
>
> OK?
You should set things up so that using -fvtable-gc causes the compiler
to emit a warning that the option has been deprecated. There are other
examples of this for C++, somewhere -- but I don't remember exactly
where.
The patch is OK with that change.
Thanks,
--
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC