OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a verbosity parameter to clean up the comments of pretty printers.
[pf3gnuchains/gcc-fork.git]
/
gcc
/
cgraphunit.c
diff --git
a/gcc/cgraphunit.c
b/gcc/cgraphunit.c
index
b97a33e
..
b91e218
100644
(file)
--- a/
gcc/cgraphunit.c
+++ b/
gcc/cgraphunit.c
@@
-812,7
+812,9
@@
verify_cgraph_node (struct cgraph_node *node)
error_found = true;
}
}
error_found = true;
}
}
- else if (decl)
+ else if (!node->global.inlined_to
+ && !e->callee->global.inlined_to
+ && !clone_of_p (cgraph_node (decl), e->callee))
{
error ("an indirect edge with unknown callee "
"corresponding to a call_stmt with "
{
error ("an indirect edge with unknown callee "
"corresponding to a call_stmt with "
@@
-959,11
+961,7
@@
process_function_and_variable_attributes (struct cgraph_node *first,
{
tree decl = node->decl;
if (DECL_PRESERVE_P (decl))
{
tree decl = node->decl;
if (DECL_PRESERVE_P (decl))
- {
- mark_decl_referenced (decl);
- if (node->local.finalized)
- cgraph_mark_needed_node (node);
- }
+ cgraph_mark_needed_node (node);
if (lookup_attribute ("externally_visible", DECL_ATTRIBUTES (decl)))
{
if (! TREE_PUBLIC (node->decl))
if (lookup_attribute ("externally_visible", DECL_ATTRIBUTES (decl)))
{
if (! TREE_PUBLIC (node->decl))
@@
-979,7
+977,6
@@
process_function_and_variable_attributes (struct cgraph_node *first,
tree decl = vnode->decl;
if (DECL_PRESERVE_P (decl))
{
tree decl = vnode->decl;
if (DECL_PRESERVE_P (decl))
{
- mark_decl_referenced (decl);
vnode->force_output = true;
if (vnode->finalized)
varpool_mark_needed_node (vnode);
vnode->force_output = true;
if (vnode->finalized)
varpool_mark_needed_node (vnode);
@@
-1602,7
+1599,6
@@
assemble_thunk (struct cgraph_node *node)
cgraph_remove_same_body_alias (node);
/* Since we want to emit the thunk, we explicitly mark its name as
referenced. */
cgraph_remove_same_body_alias (node);
/* Since we want to emit the thunk, we explicitly mark its name as
referenced. */
- mark_decl_referenced (thunk_fndecl);
cgraph_add_new_function (thunk_fndecl, true);
bitmap_obstack_release (NULL);
}
cgraph_add_new_function (thunk_fndecl, true);
bitmap_obstack_release (NULL);
}
@@
-2348,7
+2344,6
@@
cgraph_redirect_edge_call_stmt_to_callee (struct cgraph_edge *e)
gsi = gsi_for_stmt (e->call_stmt);
gsi_replace (&gsi, new_stmt, true);
gsi = gsi_for_stmt (e->call_stmt);
gsi_replace (&gsi, new_stmt, true);
- update_stmt (new_stmt);
/* Update EH information too, just in case. */
maybe_clean_or_replace_eh_stmt (e->call_stmt, new_stmt);
/* Update EH information too, just in case. */
maybe_clean_or_replace_eh_stmt (e->call_stmt, new_stmt);
@@
-2431,9
+2426,8
@@
cgraph_materialize_all_clones (void)
}
}
cgraph_materialize_clone (node);
}
}
cgraph_materialize_clone (node);
+ stabilized = false;
}
}
- else
- stabilized = false;
}
}
}
}
}
}
@@
-2452,7
+2446,6
@@
cgraph_materialize_all_clones (void)
push_cfun (DECL_STRUCT_FUNCTION (node->decl));
for (e = node->callees; e; e = e->next_callee)
cgraph_redirect_edge_call_stmt_to_callee (e);
push_cfun (DECL_STRUCT_FUNCTION (node->decl));
for (e = node->callees; e; e = e->next_callee)
cgraph_redirect_edge_call_stmt_to_callee (e);
- gcc_assert (!need_ssa_update_p (cfun));
pop_cfun ();
current_function_decl = NULL;
#ifdef ENABLE_CHECKING
pop_cfun ();
current_function_decl = NULL;
#ifdef ENABLE_CHECKING