Handle null current_function_decl in cgraph_debug_gimple_stmt
authorAldy Hernandez <aldyh@redhat.com>
Tue, 6 Nov 2012 23:55:20 +0000 (23:55 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 6 Nov 2012 23:55:20 +0000 (15:55 -0800)
        * cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
        current_function_decl.

From-SVN: r193269

gcc/ChangeLog
gcc/cgraph.c

index 7cc4051..1cde0fa 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cgraph.c (cgraph_debug_gimple_stmt): Handle a null
+       current_function_decl.
+
 2012-11-06  Richard Henderson  <rth@redhat.com>
 
        * tree-ssa-tail-merge.c (find_duplicate): Do not consider
index c9ff5c6..556eaff 100644 (file)
@@ -2250,10 +2250,19 @@ verify_edge_count_and_frequency (struct cgraph_edge *e)
 static void
 cgraph_debug_gimple_stmt (struct function *this_cfun, gimple stmt)
 {
+  bool fndecl_was_null = false;
   /* debug_gimple_stmt needs correct cfun */
   if (cfun != this_cfun)
     set_cfun (this_cfun);
+  /* ...and an actual current_function_decl */
+  if (!current_function_decl)
+    {
+      current_function_decl = this_cfun->decl;
+      fndecl_was_null = true;
+    }
   debug_gimple_stmt (stmt);
+  if (fndecl_was_null)
+    current_function_decl = NULL;
 }
 
 /* Verify that call graph edge E corresponds to DECL from the associated