OSDN Git Service

2009-10-09 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Oct 2009 13:22:22 +0000 (13:22 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Oct 2009 13:22:22 +0000 (13:22 +0000)
* cgraph.c (cgraph_create_edge): Check for NULL call_stmt
before calling stmt_can_throw_external.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152587 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cgraph.c

index 6f67e85..ed31c56 100644 (file)
@@ -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
index 01fbb9a..167e8a8 100644 (file)
@@ -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;