Hi.
This is fix for the PR which we cooked with Honza.
He pre-approved that.
Survives regression tests and bootstrap on x86_64-linux-gnu.
I'm going to install it.
Martin
gcc/lto/ChangeLog:
2018-11-16 Martin Liska <[email protected]>
PR lto/88004
* lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
lto_symtab_symbol_p as it does checking of transparent alias.
These needs to be also merged in the function.
---
gcc/lto/lto-symtab.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index 4b24b84774d..18437eb2841 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -894,10 +894,11 @@ lto_symtab_merge_symbols_1 (symtab_node *prevailing)
e = next)
{
next = e->next_sharing_asm_name;
+ cgraph_node *ce = dyn_cast <cgraph_node *> (e);
- if (!lto_symtab_symbol_p (e))
+ if ((!TREE_PUBLIC (e->decl) && !DECL_EXTERNAL (e->decl))
+ || (ce != NULL && ce->global.inlined_to))
continue;
- cgraph_node *ce = dyn_cast <cgraph_node *> (e);
symtab_node *to = symtab_node::get (lto_symtab_prevailing_decl (e->decl));
/* No matter how we are going to deal with resolution, we will ultimately