From 33c21f5cc0d666b959cfbe1e4fd65c76bbfd431e Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Wed, 30 Oct 2002 00:19:59 +0000 Subject: [PATCH] toplev.c (rest_of_type_compilation): Return early in case of errors. * toplev.c (rest_of_type_compilation): Return early in case of errors. (check_global_declarations): Don't call debug_hooks->global_decl in case of errors. From-SVN: r58645 --- gcc/ChangeLog | 7 +++++++ gcc/toplev.c | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6250ccd56dc..73713f022e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-10-29 Hans-Peter Nilsson + + * toplev.c (rest_of_type_compilation): Return early in case of + errors. + (check_global_declarations): Don't call debug_hooks->global_decl + in case of errors. + 2002-10-28 Andreas Bauer * doc/c-tree.texi (Tree overview): Fix typos. diff --git a/gcc/toplev.c b/gcc/toplev.c index 447ef032ee4..2f3d127441d 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -2050,9 +2050,14 @@ check_global_declarations (vec, len) && (*lang_hooks.decls.warn_unused_global) (decl)) warning_with_decl (decl, "`%s' defined but not used"); - timevar_push (TV_SYMOUT); - (*debug_hooks->global_decl) (decl); - timevar_pop (TV_SYMOUT); + /* Avoid confusing the debug information machinery when there are + errors. */ + if (errorcount == 0 && sorrycount == 0) + { + timevar_push (TV_SYMOUT); + (*debug_hooks->global_decl) (decl); + timevar_pop (TV_SYMOUT); + } } } @@ -2341,6 +2346,11 @@ rest_of_type_compilation (type, toplev) int toplev ATTRIBUTE_UNUSED; #endif { + /* Avoid confusing the debug information machinery when there are + errors. */ + if (errorcount != 0 || sorrycount != 0) + return; + timevar_push (TV_SYMOUT); #if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO) if (write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG) -- 2.30.2