aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-03-27 16:13:54 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-03-27 15:13:54 +0000
commit931c8e9a04bd7cb7c8f372a77e8061c46b19a742 (patch)
tree4730bf114427a89a09662f96bb28dfa1992ea3bf /gcc/cgraph.c
parentd81c5030d1ca9920bc41de91819cef17c83a8805 (diff)
downloadgcc-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.c2
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)
{