aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-03-22 15:33:27 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2012-03-22 14:33:27 +0000
commitb4e93f4518eccf83c79145c0b74e6c72ce9bbc0f (patch)
tree03738d0312372fd214a53bbb313ffd06dbb04d03 /gcc/tree-inline.c
parente45381b354ce6eac6cbcbf8a83f818c82ac52ac7 (diff)
downloadgcc-b4e93f4518eccf83c79145c0b74e6c72ce9bbc0f.zip
gcc-b4e93f4518eccf83c79145c0b74e6c72ce9bbc0f.tar.gz
gcc-b4e93f4518eccf83c79145c0b74e6c72ce9bbc0f.tar.bz2
re PR tree-optimization/51737 (g++ crashes (internal compiler error: Segmentation fault) when compiling quickbook)
PR middle-end/51737 * cgraph.c (cgraph_remove_node_and_inline_clones): Add FORBIDDEN_NODE parameter. * cgraph.h (cgraph_remove_node_and_inline_clones): Update prototype. * ipa-inline-transform.c (save_inline_function_body): Remove copied clone if needed. * tree-inline.c (delete_unreachable_blocks_update_callgraph): Update. PR middle-end/51737 * g++.dg/torture/pr51737.C: New testcase From-SVN: r185694
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index ae773f6..5d58c51 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -4955,7 +4955,7 @@ delete_unreachable_blocks_update_callgraph (copy_body_data *id)
if ((e = cgraph_edge (id->dst_node, gsi_stmt (bsi))) != NULL)
{
if (!e->inline_failed)
- cgraph_remove_node_and_inline_clones (e->callee);
+ cgraph_remove_node_and_inline_clones (e->callee, id->dst_node);
else
cgraph_remove_edge (e);
}
@@ -4966,7 +4966,7 @@ delete_unreachable_blocks_update_callgraph (copy_body_data *id)
if ((e = cgraph_edge (node, gsi_stmt (bsi))) != NULL)
{
if (!e->inline_failed)
- cgraph_remove_node_and_inline_clones (e->callee);
+ cgraph_remove_node_and_inline_clones (e->callee, id->dst_node);
else
cgraph_remove_edge (e);
}