diff options
Diffstat (limited to 'gcc-4.9/gcc/lto/lto-symtab.c')
-rw-r--r-- | gcc-4.9/gcc/lto/lto-symtab.c | 7 |
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). |