summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-15 11:03:03 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-15 11:03:03 +0000
commit64e05ea9f3ffbcf7fabf42274705cada54c8bce1 (patch)
tree54427a40e829bd08b66923c276e3cf1d06b4f158
parentbfca27e379a3754ca7154f7394a19ad3b5d226ba (diff)
downloadgcc-64e05ea9f3ffbcf7fabf42274705cada54c8bce1.tar.gz
* ipa.c (function_and_variable_visibility): Variables marked as used should
not be localized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162215 138bc75d-0d04-0410-961f-82ee72b054a4
-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 5efdf1a24cd..d60824135c5 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 4be3fcfc959..bac3406be39 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",