Commit 5b79657a by Jan Hubicka Committed by Jan Hubicka

re PR ipa/58329 (ld: Invalid symbol type for plabel…

re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)

	PR middle-end/58329
	* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
	to return NULL.
	* ipa.c (function_and_variable_visibility): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r202657
parent 27442c24
2013-09-17 Jan Hubicka <jh@suse.cz>
PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.
2013-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR ipa/58398
......
......@@ -1098,7 +1098,13 @@ ipa_devirt (void)
cgraph_node_name (likely_target),
likely_target->symbol.order);
if (!symtab_can_be_discarded ((symtab_node) likely_target))
likely_target = cgraph (symtab_nonoverwritable_alias ((symtab_node)likely_target));
{
cgraph_node *alias;
alias = cgraph (symtab_nonoverwritable_alias
((symtab_node)likely_target));
if (alias)
likely_target = alias;
}
nconverted++;
update = true;
cgraph_turn_edge_to_speculative
......
......@@ -625,7 +625,13 @@ ipa_profile (void)
of N2. Speculate on the local alias to allow inlining.
*/
if (!symtab_can_be_discarded ((symtab_node) n2))
n2 = cgraph (symtab_nonoverwritable_alias ((symtab_node)n2));
{
cgraph_node *alias;
alias = cgraph (symtab_nonoverwritable_alias
((symtab_node)n2));
if (alias)
n2 = alias;
}
nconverted++;
cgraph_turn_edge_to_speculative
(e, n2,
......
......@@ -998,7 +998,7 @@ function_and_variable_visibility (bool whole_program)
{
struct cgraph_node *alias = cgraph (symtab_nonoverwritable_alias ((symtab_node) node));
if (alias != node)
if (alias && alias != node)
{
while (node->callers)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment