diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-07 16:36:43 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-07 16:36:43 +0000 |
commit | 07bcf1f743fb0b507b3b9cb8ace503d3b6144a07 (patch) | |
tree | 8d44193126b0e58b978c363ad1b4310858955c38 /gcc | |
parent | 1c6da01e53705ec85f36e4fadbf2162e6a21e054 (diff) | |
download | gcc-07bcf1f743fb0b507b3b9cb8ace503d3b6144a07.tar.gz |
* cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152532 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cgraph.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2893556ea8b..213f4b61368 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-10-06 Jan Hubicka <jh@suse.cz> + + * cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes + correctly. + 2009-10-06 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext, diff --git a/gcc/cgraph.c b/gcc/cgraph.c index bc8f1015e62..01fbb9a85d7 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1983,7 +1983,8 @@ cgraph_add_new_function (tree fndecl, bool lowered) bool cgraph_node_can_be_local_p (struct cgraph_node *node) { - return !node->needed; + return (!node->needed + && (DECL_COMDAT (node->decl) || !node->local.externally_visible)); } /* Bring NODE local. */ |