diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-03-27 16:13:54 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-03-27 15:13:54 +0000 |
commit | 931c8e9a04bd7cb7c8f372a77e8061c46b19a742 (patch) | |
tree | 4730bf114427a89a09662f96bb28dfa1992ea3bf /gcc/cgraph.c | |
parent | d81c5030d1ca9920bc41de91819cef17c83a8805 (diff) | |
download | gcc-931c8e9a04bd7cb7c8f372a77e8061c46b19a742.zip gcc-931c8e9a04bd7cb7c8f372a77e8061c46b19a742.tar.gz gcc-931c8e9a04bd7cb7c8f372a77e8061c46b19a742.tar.bz2 |
re PR ipa/65600 (bost testsuite failure: ICE: Segmentation fault)
PR ipa/65600
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
of optimized out indirect call.
(redirect_to_unreachable): Always build symbol table node for
BUILT_IN_UNREACHABLE
* g++.dg/torture/pr65600.C: New testcase.
From-SVN: r221735
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 96f5f40..85531c8 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1516,7 +1516,7 @@ cgraph_update_edges_for_call_stmt_node (cgraph_node *node, if (e) { /* Keep calls marked as dead dead. */ - if (new_call && e->callee + if (new_stmt && is_gimple_call (new_stmt) && e->callee && DECL_BUILT_IN_CLASS (e->callee->decl) == BUILT_IN_NORMAL && DECL_FUNCTION_CODE (e->callee->decl) == BUILT_IN_UNREACHABLE) { |