re PR bootstrap/41620 (Bootstrap failure)
PR bootstrap/41620 * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility, whole_program_function_and_variable_visibility): Skip non-finalized nodes. From-SVN: r152556
This commit is contained in:
parent
b44d3aa84f
commit
b820a2f900
@ -1,3 +1,11 @@
|
|||||||
|
2009-10-08 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
PR bootstrap/41620
|
||||||
|
* ipa.c (cgraph_externally_visible_p,
|
||||||
|
function_and_variable_visibility,
|
||||||
|
whole_program_function_and_variable_visibility): Skip non-finalized
|
||||||
|
nodes.
|
||||||
|
|
||||||
2009-10-08 Nick Clifton <nickc@redhat.com>
|
2009-10-08 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
|
* config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
|
||||||
|
@ -254,6 +254,8 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
|
|||||||
static bool
|
static bool
|
||||||
cgraph_externally_visible_p (struct cgraph_node *node, bool whole_program)
|
cgraph_externally_visible_p (struct cgraph_node *node, bool whole_program)
|
||||||
{
|
{
|
||||||
|
if (!node->local.finalized)
|
||||||
|
return false;
|
||||||
if (!DECL_COMDAT (node->decl)
|
if (!DECL_COMDAT (node->decl)
|
||||||
&& (!TREE_PUBLIC (node->decl) || DECL_EXTERNAL (node->decl)))
|
&& (!TREE_PUBLIC (node->decl) || DECL_EXTERNAL (node->decl)))
|
||||||
return false;
|
return false;
|
||||||
@ -312,6 +314,8 @@ function_and_variable_visibility (bool whole_program)
|
|||||||
}
|
}
|
||||||
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
|
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
|
||||||
{
|
{
|
||||||
|
if (!vnode->finalized)
|
||||||
|
continue;
|
||||||
if (vnode->needed
|
if (vnode->needed
|
||||||
&& (DECL_COMDAT (vnode->decl) || TREE_PUBLIC (vnode->decl))
|
&& (DECL_COMDAT (vnode->decl) || TREE_PUBLIC (vnode->decl))
|
||||||
&& (!whole_program
|
&& (!whole_program
|
||||||
@ -392,7 +396,7 @@ whole_program_function_and_variable_visibility (void)
|
|||||||
function_and_variable_visibility (flag_whole_program);
|
function_and_variable_visibility (flag_whole_program);
|
||||||
|
|
||||||
for (node = cgraph_nodes; node; node = node->next)
|
for (node = cgraph_nodes; node; node = node->next)
|
||||||
if (node->local.externally_visible)
|
if (node->local.externally_visible && node->local.finalized)
|
||||||
cgraph_mark_needed_node (node);
|
cgraph_mark_needed_node (node);
|
||||||
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
|
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
|
||||||
if (vnode->externally_visible)
|
if (vnode->externally_visible)
|
||||||
|
Loading…
Reference in New Issue
Block a user