summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-13 17:46:21 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-13 17:46:21 +0000
commit0b49f8f8e6a6354ca047371ed355830edb5b556d (patch)
tree3884c0ff2e94f7f3453e5f2b7585aa6c80cebf1f /gcc/cgraphunit.c
parenta396c3410940208ba03595909137ef5ae52a6f8f (diff)
downloadgcc-0b49f8f8e6a6354ca047371ed355830edb5b556d.tar.gz
* final.c (output_addr_const): Do not call mark_decl_referenced.
* cgraphunit.c (process_function_and_variable_attributes): Use mark_needed_node dirrectly. (assemble_thunk): Do not call mark_decl_referenced. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159370 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index b97a33e274d..7618dd00743 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -959,11 +959,7 @@ process_function_and_variable_attributes (struct cgraph_node *first,
{
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))
@@ -979,7 +975,6 @@ process_function_and_variable_attributes (struct cgraph_node *first,
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);
@@ -1602,7 +1597,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. */
- mark_decl_referenced (thunk_fndecl);
cgraph_add_new_function (thunk_fndecl, true);
bitmap_obstack_release (NULL);
}