diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-12-08 23:03:36 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-12-08 22:03:36 +0000 |
commit | 2b73ad1d1df668f7cfbd352e590a1521a3765e40 (patch) | |
tree | 8ace8cb2a092fd97ea457d8e170d9e0c35c011fb /gcc/lto-cgraph.c | |
parent | 9b21e866825085e069dd2763a702202cb9adeb16 (diff) | |
download | gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.zip gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.tar.gz gcc-2b73ad1d1df668f7cfbd352e590a1521a3765e40.tar.bz2 |
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
PR ipa/61886
* lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
into the boundary.
From-SVN: r231430
Diffstat (limited to 'gcc/lto-cgraph.c')
-rw-r--r-- | gcc/lto-cgraph.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index e1c2595..62e5454 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -972,6 +972,15 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder) if (cnode && cnode->thunk.thunk_p) add_node_to (encoder, cnode->callees->callee, false); + while (node->transparent_alias && node->analyzed) + { + node = node->get_alias_target (); + if (is_a <cgraph_node *> (node)) + add_node_to (encoder, dyn_cast <cgraph_node *> (node), + false); + else + lto_symtab_encoder_encode (encoder, node); + } } lto_symtab_encoder_delete (in_encoder); return encoder; |