diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2e208cae8a8bca663a7072fd780b7caf9b431866..1d4b46772537688e96300894c31f417023cd8e30 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-02  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/44777
+	* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
+
 2010-07-02  Jan Hubicka  <jh@suse.cz>
 
 	PR middle-end/44706
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 3b8ab9d9e7d5d45339417419e779e5dc78e69706..99b8f2a1e9d97bf977534aea7bd87b486e498b8f 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -6626,7 +6626,7 @@ static bool
 gimple_block_ends_with_call_p (basic_block bb)
 {
   gimple_stmt_iterator gsi = gsi_last_nondebug_bb (bb);
-  return is_gimple_call (gsi_stmt (gsi));
+  return !gsi_end_p (gsi) && is_gimple_call (gsi_stmt (gsi));
 }