aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/lto-symtab.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-02-04 06:50:18 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2014-02-04 05:50:18 +0000
commit5f876ae722d5a409960aef5ab4d3ea7630fd516c (patch)
treec9889c384f34c43210297dc758a7ba58c89c78cc /gcc/lto/lto-symtab.c
parent5bccb77a773b916d4824688e9138921f93c35039 (diff)
downloadgcc-5f876ae722d5a409960aef5ab4d3ea7630fd516c.zip
gcc-5f876ae722d5a409960aef5ab4d3ea7630fd516c.tar.gz
gcc-5f876ae722d5a409960aef5ab4d3ea7630fd516c.tar.bz2
re PR ipa/59469 (LLVM build failure with gcc LTO)
PR ipa/59469 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node): merge force_output and forced_by_abi flags. From-SVN: r207449
Diffstat (limited to 'gcc/lto/lto-symtab.c')
-rw-r--r--gcc/lto/lto-symtab.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index f5f9d13..71242c8 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -59,6 +59,8 @@ lto_cgraph_replace_node (struct cgraph_node *node,
/* Merge node flags. */
if (node->force_output)
cgraph_mark_force_output_node (prevailing_node);
+ if (node->forced_by_abi)
+ prevailing_node->forced_by_abi = true;
if (node->address_taken)
{
gcc_assert (!prevailing_node->global.inlined_to);
@@ -110,6 +112,10 @@ lto_varpool_replace_node (varpool_node *vnode,
gcc_assert (!vnode->analyzed || prevailing_node->analyzed);
ipa_clone_referring (prevailing_node, &vnode->ref_list);
+ if (vnode->force_output)
+ prevailing_node->force_output = true;
+ if (vnode->forced_by_abi)
+ prevailing_node->forced_by_abi = true;
/* Be sure we can garbage collect the initializer. */
if (DECL_INITIAL (vnode->decl)