summaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-07 16:36:43 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-07 16:36:43 +0000
commit07bcf1f743fb0b507b3b9cb8ace503d3b6144a07 (patch)
tree8d44193126b0e58b978c363ad1b4310858955c38 /gcc/cgraph.c
parent1c6da01e53705ec85f36e4fadbf2162e6a21e054 (diff)
downloadgcc-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/cgraph.c')
-rw-r--r--gcc/cgraph.c3
1 files changed, 2 insertions, 1 deletions
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. */