Hi,
it seems that interface to symbol table is fairly minimal here reduced
to...
>       (create_sym_alias_decl, create_sym_alias_decls): New.
>       * cgraphunit.cc (cgraph_node::analyze): Create alias_target
>       node if needed.
called from here...
>       (analyze_functions): Fixup visibility of implicit alias only
>       after its node is analyzed.

> +      if (VAR_P (replaced))
> +     varpool_node::create_extra_name_alias (sym_node->decl, replacement);
> +      else
> +     cgraph_node::create_same_body_alias (sym_node->decl, replacement);

I wonder why you use same body aliases, which are kind of special to C++
frontend (and come with fixup code working around its quirks you had to
disable above).

Why you do not produce usual alias attribute once you know the symbol
table so it goes the cgraph_node::create_alias or
vaprool_node::create_alias path?

Honza

Reply via email to