From b9e57365defa41307c888e8eabdff8099ab68887 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 31 May 2011 16:15:17 +0200 Subject: [PATCH] lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl of thunks. * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl of thunks. From-SVN: r174482 --- gcc/ChangeLog | 5 +++++ gcc/lto-symtab.c | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c416db52730..86a288a631d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-31 Jan Hubicka + + * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl + of thunks. + 2011-05-31 Jakub Jelinek PR rtl-optimization/49235 diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c index 8dc10e8e6c5..af8106de94f 100644 --- a/gcc/lto-symtab.c +++ b/gcc/lto-symtab.c @@ -821,11 +821,15 @@ lto_symtab_merge_cgraph_nodes (void) htab_traverse (lto_symtab_identifiers, lto_symtab_merge_cgraph_nodes_1, NULL); for (node = cgraph_nodes; node; node = node->next) - for (alias = node->same_body; alias; alias = next) - { - next = alias->next; - alias->thunk.alias = lto_symtab_prevailing_decl (alias->thunk.alias); - } + { + if (node->thunk.thunk_p) + node->thunk.alias = lto_symtab_prevailing_decl (node->thunk.alias); + for (alias = node->same_body; alias; alias = next) + { + next = alias->next; + alias->thunk.alias = lto_symtab_prevailing_decl (alias->thunk.alias); + } + } } /* Given the decl DECL, return the prevailing decl with the same name. */ -- 2.30.2