diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-02-04 06:50:18 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-02-04 05:50:18 +0000 |
commit | 5f876ae722d5a409960aef5ab4d3ea7630fd516c (patch) | |
tree | c9889c384f34c43210297dc758a7ba58c89c78cc /gcc/lto/lto-symtab.c | |
parent | 5bccb77a773b916d4824688e9138921f93c35039 (diff) | |
download | gcc-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.c | 6 |
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) |