aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
authorIain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>2010-02-18 22:00:21 +0000
committerMike Stump <mrs@gcc.gnu.org>2010-02-18 22:00:21 +0000
commitfca4c1d59a05f6ac806bb9ac1954ca56407e45b8 (patch)
tree091bf3cb2202b0cf3af781304c0329733806c3ec /gcc/objc
parent1a242e3cea4a90d5fa893e2509174c8a2e9a0aaa (diff)
downloadgcc-fca4c1d59a05f6ac806bb9ac1954ca56407e45b8.zip
gcc-fca4c1d59a05f6ac806bb9ac1954ca56407e45b8.tar.gz
gcc-fca4c1d59a05f6ac806bb9ac1954ca56407e45b8.tar.bz2
objc-act.c (finish_var_decl): Set the generated symbols as "used".
* objc-act.c (finish_var_decl): Set the generated symbols as "used". Co-Authored-By: Mike Stump <mikestump@comcast.net> From-SVN: r156877
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/ChangeLog5
-rw-r--r--gcc/objc/objc-act.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 7f43dc0..a1673cd 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+ Mike Stump <mikestump@comcast.net>
+
+ * objc-act.c (finish_var_decl): Set the generated symbols as "used".
+
2009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
* objc-act.c (objc_substitute_decl, build_ivar_reference,
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 2680fd8..fae535c 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1524,6 +1524,14 @@ finish_var_decl (tree var, tree initializer)
mark_decl_referenced (var);
/* Mark the decl to avoid "defined but not used" warning. */
TREE_USED (var) = 1;
+ /* We reserve the right for the runtime to use/modify these variables
+ in ways that are opaque to us. */
+ DECL_PRESERVE_P (var) = 1;
+ /* ipa*.c/cgraphunit.c use lookup attribute rather than testing
+ DECL_PRESERVE_P. Once they switch to testing DECL_PRESERVE_P,
+ this can be removed. */
+ DECL_ATTRIBUTES (var) = tree_cons (get_identifier ("used"), NULL,
+ DECL_ATTRIBUTES (var)) ;
}
/* Find the decl for the constant string class reference. This is only