aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorMike Stump <mikestump@comcast.net>2010-02-19 19:06:38 +0000
committerMike Stump <mrs@gcc.gnu.org>2010-02-19 19:06:38 +0000
commitb42186f16474032ac2fa82027d3b7bf31e94daef (patch)
tree7833337ec015312bc0a4f42179ae921a7ef30c24 /gcc/cgraphunit.c
parentcf9280bf7e26b68be590b813d46aea29db5061de (diff)
downloadgcc-b42186f16474032ac2fa82027d3b7bf31e94daef.zip
gcc-b42186f16474032ac2fa82027d3b7bf31e94daef.tar.gz
gcc-b42186f16474032ac2fa82027d3b7bf31e94daef.tar.bz2
re PR objc/43061 (47 new GCC HEAD@156527 regressions)
PR objc/43061 * cgraphunit.c (process_function_and_variable_attributes): Check DECL_PRESERVE_P instead of looking up attribute "used". * ipa-pure-const.c (check_decl): Likewise. * ipa-reference.c (has_proper_scope_for_analysis): Likewise. * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise. * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P instead of attribute "used". * config/sol2-c.c (solaris_pragma_init): Likewise. (solaris_pragma_fini): Likewise. From-SVN: r156907
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index ec7f9d8..37eee71 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -885,7 +885,7 @@ process_function_and_variable_attributes (struct cgraph_node *first,
for (node = cgraph_nodes; node != first; node = node->next)
{
tree decl = node->decl;
- if (lookup_attribute ("used", DECL_ATTRIBUTES (decl)))
+ if (DECL_PRESERVE_P (decl))
{
mark_decl_referenced (decl);
if (node->local.finalized)
@@ -904,7 +904,7 @@ process_function_and_variable_attributes (struct cgraph_node *first,
for (vnode = varpool_nodes; vnode != first_var; vnode = vnode->next)
{
tree decl = vnode->decl;
- if (lookup_attribute ("used", DECL_ATTRIBUTES (decl)))
+ if (DECL_PRESERVE_P (decl))
{
mark_decl_referenced (decl);
vnode->force_output = true;