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  <mli...@suse.cz>

        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

Reply via email to