+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>
* config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
static bool
cgraph_externally_visible_p (struct cgraph_node *node, bool whole_program)
{
+ if (!node->local.finalized)
+ return false;
if (!DECL_COMDAT (node->decl)
&& (!TREE_PUBLIC (node->decl) || DECL_EXTERNAL (node->decl)))
return false;
}
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
{
+ if (!vnode->finalized)
+ continue;
if (vnode->needed
&& (DECL_COMDAT (vnode->decl) || TREE_PUBLIC (vnode->decl))
&& (!whole_program
function_and_variable_visibility (flag_whole_program);
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);
for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed)
if (vnode->externally_visible)