From 27f7e1c331267244a7dbace1f38192f98ef8fad0 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Tue, 6 Nov 2012 23:55:20 +0000 Subject: [PATCH] Handle null current_function_decl in cgraph_debug_gimple_stmt * cfghooks.c (cgraph_debug_gimple_stmt): Handle a null current_function_decl. From-SVN: r193269 --- gcc/ChangeLog | 5 +++++ gcc/cgraph.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cc405127af..1cde0fa59a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-11-06 Aldy Hernandez + + * cgraph.c (cgraph_debug_gimple_stmt): Handle a null + current_function_decl. + 2012-11-06 Richard Henderson * tree-ssa-tail-merge.c (find_duplicate): Do not consider diff --git a/gcc/cgraph.c b/gcc/cgraph.c index c9ff5c6de8d..556eaff29d4 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -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