aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/lto.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/lto/lto.c')
-rw-r--r--gcc/lto/lto.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 9cfb5e2..cbc192a 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -837,6 +837,8 @@ partition_cgraph_node_p (struct cgraph_node *node)
|| (DECL_COMDAT (node->decl)
&& !cgraph_used_from_object_file_p (node)))
return false;
+ if (lookup_attribute ("weakref", DECL_ATTRIBUTES (node->decl)))
+ return false;
return true;
}
@@ -854,6 +856,8 @@ partition_varpool_node_p (struct varpool_node *vnode)
&& !vnode->force_output
&& !varpool_used_from_object_file_p (vnode)))
return false;
+ if (lookup_attribute ("weakref", DECL_ATTRIBUTES (vnode->decl)))
+ return false;
return true;
}