diff options
Diffstat (limited to 'gcc-4.9/gcc/lto')
-rw-r--r-- | gcc-4.9/gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc-4.9/gcc/lto/lto-symtab.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/lto/ChangeLog b/gcc-4.9/gcc/lto/ChangeLog index b396e485d..47a5924c1 100644 --- a/gcc-4.9/gcc/lto/ChangeLog +++ b/gcc-4.9/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2014-04-22 Jan Hubicka <hubicka@ucw.cz> + + PR lto/61012 + * lto-symtab.c (lto_symtab_merge_decls_1): + 2014-04-22 Release Manager * GCC 4.9.0 released. 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). |