summaryrefslogtreecommitdiff
path: root/gcc/config/sol2.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-19 19:06:38 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-19 19:06:38 +0000
commit83a23b050c3e304cdbfe91ddcad06d3a20aff63f (patch)
tree7833337ec015312bc0a4f42179ae921a7ef30c24 /gcc/config/sol2.c
parentd0b5b304bfbdd19e465aa12c0603d96c9d841a9a (diff)
downloadgcc-83a23b050c3e304cdbfe91ddcad06d3a20aff63f.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156907 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sol2.c')
-rw-r--r--gcc/config/sol2.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c
index bf7da834129..493816c188d 100644
--- a/gcc/config/sol2.c
+++ b/gcc/config/sol2.c
@@ -70,8 +70,8 @@ solaris_insert_attributes (tree decl, tree *attributes)
{
*attributes = tree_cons (get_identifier ("init"), NULL,
*attributes);
- *attributes = tree_cons (get_identifier ("used"), NULL,
- *attributes);
+ TREE_USED (decl) = 1;
+ DECL_PRESERVE_P (decl) = 1;
next = TREE_CHAIN (*x);
ggc_free (*x);
*x = next;
@@ -87,8 +87,8 @@ solaris_insert_attributes (tree decl, tree *attributes)
{
*attributes = tree_cons (get_identifier ("fini"), NULL,
*attributes);
- *attributes = tree_cons (get_identifier ("used"), NULL,
- *attributes);
+ TREE_USED (decl) = 1;
+ DECL_PRESERVE_P (decl) = 1;
next = TREE_CHAIN (*x);
ggc_free (*x);
*x = next;