Commit 6e85fbaa by Jan Hubicka Committed by Jan Hubicka

re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same…

re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)

	PR target/65531
	* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
	comdat groups.

From-SVN: r221736
parent 931c8e9a
2015-03-27 Jan Hubicka <hubicka@ucw.cz> 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
PR target/65531
* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
comdat groups.
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
PR ipa/65600 PR ipa/65600
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
of optimized out indirect call. of optimized out indirect call.
......
...@@ -1130,17 +1130,22 @@ symtab_node::verify_symtab_nodes (void) ...@@ -1130,17 +1130,22 @@ symtab_node::verify_symtab_nodes (void)
&existed); &existed);
if (!existed) if (!existed)
*entry = node; *entry = node;
else else if (!DECL_EXTERNAL (node->decl))
for (s = (*entry)->same_comdat_group; s != NULL && s != node; s = s->same_comdat_group) {
for (s = (*entry)->same_comdat_group; s != NULL && s != node;
s = s->same_comdat_group)
;
if (!s || s == *entry) if (!s || s == *entry)
{ {
error ("Two symbols with same comdat_group are not linked by the same_comdat_group list."); error ("Two symbols with same comdat_group are not linked by "
"the same_comdat_group list.");
(*entry)->debug (); (*entry)->debug ();
node->debug (); node->debug ();
internal_error ("symtab_node::verify failed"); internal_error ("symtab_node::verify failed");
} }
} }
} }
}
} }
/* Make DECL local. FIXME: We shouldn't need to mess with rtl this early, /* Make DECL local. FIXME: We shouldn't need to mess with rtl this early,
......
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