aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index a4c23b3..de854f7 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -1123,11 +1123,12 @@ cgraph_only_called_directly_or_aliased_p (struct cgraph_node *node)
static inline bool
varpool_can_remove_if_no_refs (struct varpool_node *node)
{
+ if (DECL_EXTERNAL (node->symbol.decl))
+ return true;
return (!node->symbol.force_output && !node->symbol.used_from_other_partition
&& (DECL_COMDAT (node->symbol.decl)
- || !node->symbol.externally_visible
- || DECL_HAS_VALUE_EXPR_P (node->symbol.decl)
- || DECL_EXTERNAL (node->symbol.decl)));
+ || !node->symbol.externally_visible
+ || DECL_HAS_VALUE_EXPR_P (node->symbol.decl)));
}
/* Return true when all references to VNODE must be visible in ipa_ref_list.