From 9ba01f82042079dcdaf74b747ec5d96789e77e72 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 28 Aug 2015 07:47:37 +0000 Subject: [PATCH] cgraphunit.c (symbol_table::compile): Move early debug generation and finish... 2015-08-28 Richard Biener * cgraphunit.c (symbol_table::compile): Move early debug generation and finish... (symbol_table::finalize_compilation_unit): ... back here and add a !seen_error () guard. From-SVN: r227293 --- gcc/ChangeLog | 7 +++++++ gcc/cgraphunit.c | 23 +++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d77e442..8a40fd2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-08-28 Richard Biener + + * cgraphunit.c (symbol_table::compile): Move early debug generation + and finish... + (symbol_table::finalize_compilation_unit): ... back here and + add a !seen_error () guard. + 2015-08-27 Sebastian Pop * toplev.c (process_options): Do not use flag_loop_block, diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index cdec63b..be16f5d 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -2314,16 +2314,6 @@ symbol_table::compile (void) symtab_node::verify_symtab_nodes (); #endif - /* Emit early debug for reachable functions, and by consequence, - locally scoped symbols. */ - struct cgraph_node *cnode; - FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode) - (*debug_hooks->early_global_decl) (cnode->decl); - - /* Clean up anything that needs cleaning up after initial debug - generation. */ - (*debug_hooks->early_finish) (); - timevar_push (TV_CGRAPHOPT); if (pre_ipa_mem_report) { @@ -2492,6 +2482,19 @@ symbol_table::finalize_compilation_unit (void) /* Gimplify and lower thunks. */ analyze_functions (/*first_time=*/false); + if (!seen_error ()) + { + /* Emit early debug for reachable functions, and by consequence, + locally scoped symbols. */ + struct cgraph_node *cnode; + FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode) + (*debug_hooks->early_global_decl) (cnode->decl); + + /* Clean up anything that needs cleaning up after initial debug + generation. */ + (*debug_hooks->early_finish) (); + } + /* Finally drive the pass manager. */ compile (); -- 2.7.4