aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-07-15 13:03:03 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-07-15 11:03:03 +0000
commit02ee7bea62cc77ed1ee6aa94970cc576af7d3903 (patch)
tree54427a40e829bd08b66923c276e3cf1d06b4f158
parent99fecd47f16612cb53a936a7b6b82a6fdac3b84c (diff)
downloadgcc-02ee7bea62cc77ed1ee6aa94970cc576af7d3903.zip
gcc-02ee7bea62cc77ed1ee6aa94970cc576af7d3903.tar.gz
gcc-02ee7bea62cc77ed1ee6aa94970cc576af7d3903.tar.bz2
ipa.c (function_and_variable_visibility): Variables marked as used should not be localized.
* ipa.c (function_and_variable_visibility): Variables marked as used should not be localized. From-SVN: r162215
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5efdf1a..d608241 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-07-15 Jan Hubicka <jh@suse.cz>
+ * ipa.c (function_and_variable_visibility): Variables marked as used should
+ not be localized.
+
+2010-07-15 Jan Hubicka <jh@suse.cz>
+
* cgraph.c: Include lto-streamer.h
(change_decl_assembler_name): Work when assembler name hash is at place.
(cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage, be
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 4be3fcf..bac3406 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -786,6 +786,7 @@ function_and_variable_visibility (bool whole_program)
/* We can get prevailing decision in other object file.
In this case we do not sed used_from_object_file. */
|| !vnode->finalized))
+ || DECL_PRESERVE_P (vnode->decl)
|| vnode->used_from_object_file
|| pointer_set_contains (aliased_vnodes, vnode)
|| lookup_attribute ("externally_visible",