* toplev.c (rest_of_compilation): Don't compile if we've had errors.
authorRichard Henderson <rth@gcc.gnu.org>
Mon, 11 Mar 2002 21:49:26 +0000 (13:49 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 11 Mar 2002 21:49:26 +0000 (13:49 -0800)
From-SVN: r50604

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
gcc/testsuite/g++.old-deja/g++.jason/report.C
gcc/toplev.c

index 6273963..d6cde40 100644 (file)
@@ -1,11 +1,14 @@
+2002-03-11  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (rest_of_compilation): Don't compile if we've had errors.
+
 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * Makefile.in: Update.
-doc:
-       * cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
+       * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
        Update documentation.
-       * gcc.texi: Include cppopts.texi and cppenv.texi.
-       * cpp.texi: Include cppopts.texi and cppenv.texi.
+       * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
+       * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
 
 2002-03-11  Zack Weinberg  <zack@codesourcery.com>
 
index 87c3e74..d281943 100644 (file)
@@ -1,3 +1,8 @@
+2002-03-11  Richard Henderson  <rth@redhat.com>
+
+       * g++.old-deja/g++.brendan/crash52.C: Remove return warning marker.
+       * g++.old-deja/g++.jason/report.C: Likewise.
+
 2002-03-11  Nathan Sidwell  <nathan@codesourcery.com>
 
        * testsuite/g++.old-deja/g++.other/friend9.C: Revert DR 209 changes.
index e8c51e8..b29271b 100644 (file)
@@ -10,5 +10,4 @@ public:
 
 A &f(A &a) {// ERROR -  new decl.*
   std::cout << "Blah\n";
-} // ERROR - non-void function
-
+}
index 14bc9d8..bbc1ada 100644 (file)
@@ -55,7 +55,7 @@ bar2 baz (X::Y y)
   bar2 wa [5];
   wa[0] = baz(f);
   undef2 (1); // ERROR - implicit declaration
-} // ERROR - non-void
+}
 
 int ninny ()
 {
@@ -70,4 +70,4 @@ int ninny ()
 int darg (char X::*p)
 {
    undef3 (1); // ERROR - implicit declaration
-} // ERROR - non-void
+}
index 6530adf..d1f7950 100644 (file)
@@ -2540,8 +2540,11 @@ rest_of_compilation (decl)
   purge_hard_subreg_sets (get_insns ());
   emit_initial_value_sets ();
 
-  /* Don't return yet if -Wreturn-type; we need to do cleanup_cfg.  */
-  if ((rtl_dump_and_exit || flag_syntax_only) && !warn_return_type)
+  /* Early return if there were errors.  We can run afoul of our
+     consistency checks, and there's not really much point in fixing them.
+     Don't return yet if -Wreturn-type; we need to do cleanup_cfg.  */
+  if (((rtl_dump_and_exit || flag_syntax_only) && !warn_return_type)
+      || errorcount || sorrycount)
     goto exit_rest_of_compilation;
 
   /* We may have potential sibling or tail recursion sites.  Select one