aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/lto/lto-symtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/lto/lto-symtab.c')
-rw-r--r--gcc-4.9/gcc/lto/lto-symtab.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/lto/lto-symtab.c b/gcc-4.9/gcc/lto/lto-symtab.c
index 71242c892..e77448e19 100644
--- a/gcc-4.9/gcc/lto/lto-symtab.c
+++ b/gcc-4.9/gcc/lto/lto-symtab.c
@@ -453,7 +453,12 @@ lto_symtab_merge_decls_1 (symtab_node *first)
cgraph or a varpool node. */
if (!prevailing)
{
- prevailing = first;
+ for (prevailing = first;
+ prevailing; prevailing = prevailing->next_sharing_asm_name)
+ if (lto_symtab_symbol_p (prevailing))
+ break;
+ if (!prevailing)
+ return;
/* For variables chose with a priority variant with vnode
attached (i.e. from unit where external declaration of
variable is actually used).