From 9f3f7d131fd4200ed84aa44ec75b3c675b8273ae Mon Sep 17 00:00:00 2001 From: Richard Guenther <rguenther@suse.de> Date: Fri, 9 Oct 2009 13:22:22 +0000 Subject: [PATCH] cgraph.c (cgraph_create_edge): Check for NULL call_stmt before calling stmt_can_throw_external. 2009-10-09 Richard Guenther <rguenther@suse.de> * cgraph.c (cgraph_create_edge): Check for NULL call_stmt before calling stmt_can_throw_external. From-SVN: r152587 --- gcc/ChangeLog | 5 +++++ gcc/cgraph.c | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f67e8586caa..ed31c56f95fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-10-09 Richard Guenther <rguenther@suse.de> + + * cgraph.c (cgraph_create_edge): Check for NULL call_stmt + before calling stmt_can_throw_external. + 2009-10-09 Eric Botcazou <ebotcazou@adacore.com> PR tree-optimization/40071 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 01fbb9a85d79..167e8a8e7b40 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -822,9 +822,9 @@ cgraph_create_edge (struct cgraph_node *caller, struct cgraph_node *callee, if (call_stmt) { #ifdef ENABLE_CHECKING - /* This is rather pricely check possibly trigerring construction of call stmt - hashtable. */ - gcc_assert (!cgraph_edge (caller, call_stmt)); + /* This is rather pricely check possibly trigerring construction of + call stmt hashtable. */ + gcc_assert (!cgraph_edge (caller, call_stmt)); #endif gcc_assert (is_gimple_call (call_stmt)); @@ -847,7 +847,8 @@ cgraph_create_edge (struct cgraph_node *caller, struct cgraph_node *callee, edge->callee = callee; edge->call_stmt = call_stmt; push_cfun (DECL_STRUCT_FUNCTION (caller->decl)); - edge->can_throw_external = stmt_can_throw_external (call_stmt); + edge->can_throw_external + = call_stmt ? stmt_can_throw_external (call_stmt) : false; pop_cfun (); edge->prev_caller = NULL; edge->next_caller = callee->callers; -- GitLab