This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/61548] [5 Regression] FAIL: gcc.dg/tls/alias-1.c (internal compiler error)
- From: "hubicka at ucw dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 26 Jan 2015 03:56:05 +0000
- Subject: [Bug ipa/61548] [5 Regression] FAIL: gcc.dg/tls/alias-1.c (internal compiler error)
- Auto-submitted: auto-generated
- References: <bug-61548-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61548
--- Comment #13 from Jan Hubicka <hubicka at ucw dot cz> ---
> So, what is here is:
> emutls calls varpool_node::create_alias(decl("emutls_v.bar"),
> decl("emutls_v.foo")) which sets alias = true and alias_target =
> node("emutls_v.foo") on the node for "emutls_v.bar", however it does not set up
> ref_list.references on node("emutls_v.bar") to point at node("emutls_v.foo").
> Then during varification we call symtab_node::get_alias_target() which gets the
> alias from node("emutls_v.bar").ref_list.references but that crashes becauses
> references doesn't contain an element for the alias target.
The way to get the references for alias is to call alias->resolve_alias.
The resolution normally happens at the end of parsing but if someone introduces
new alias late, he needs to cal the resolve_alias manually.
Honza