diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-28 07:47:37 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-28 07:47:37 +0000 |
commit | 68f04316eb748568183a612db8461dd7e57fd49e (patch) | |
tree | c32e036fe086ac08df078f6e0ffa56d232e30645 /gcc/cgraphunit.c | |
parent | 76402908846f403a12cb44880219f4f1abea8a50 (diff) | |
download | gcc-68f04316eb748568183a612db8461dd7e57fd49e.tar.gz |
2015-08-28 Richard Biener <rguenther@suse.de>
* cgraphunit.c (symbol_table::compile): Move early debug generation
and finish...
(symbol_table::finalize_compilation_unit): ... back here and
add a !seen_error () guard.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227293 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index cdec63bc60a..be16f5d0d04 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 (); |