summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 053359277ad..94a4044d2fe 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -328,10 +328,7 @@ cgraph_varpool_remove_unreferenced_decls (void)
node->needed = 0;
if (node->finalized
- && ((DECL_ASSEMBLER_NAME_SET_P (decl)
- && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
- || node->force_output
- || decide_is_variable_needed (node, decl)
+ && (decide_is_variable_needed (node, decl)
/* ??? Cgraph does not yet rule the world with an iron hand,
and does not control the emission of debug information.
After a variable has its DECL_RTL set, we must assume that
@@ -1709,6 +1706,7 @@ cgraph_build_static_cdtor (char which, tree body, int priority)
{
tree_lowering_passes (decl);
tree_rest_of_compilation (decl);
+ cgraph_varpool_assemble_pending_decls ();
}
else
cgraph_finalize_function (decl, 0);