This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gcjx] Patch: FYI: keep going on error


I'm checking this in on the gcjx branch.

This lets the compiler keep going even if there is an error.
In particular it will analyze other classes.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>
	* compiler.cc (semantic_analysis): Keep going on failure.
	(do_analyze_unit): Likewise.

Index: compiler.cc
===================================================================
--- compiler.cc	(revision 107604)
+++ compiler.cc	(working copy)
@@ -300,7 +300,7 @@
   need_class_method_bodies = false;
 
   for (std::list<ref_unit>::const_iterator i = code_generation_units.begin ();
-       ok && i != code_generation_units.end ();
+       i != code_generation_units.end ();
        ++i)
     // Note that we do this single-threaded, as we don't have support
     // for MT semantic analysis.
@@ -626,10 +626,9 @@
     std::cout << " [analyzing " << unit->get_file_name () << "]"
 	      << std::endl;
 
-  // fixme is this inefficient?  look up the idiom
   std::list<ref_class> types = unit->get_types ();
   for (std::list<ref_class>::const_iterator j = types.begin ();
-       ok && j != types.end ();
+       j != types.end ();
        ++j)
     {
       try
@@ -648,7 +647,7 @@
 	{
           exc.set_lexer (unit->get_lexer ());
 	  std::cerr << exc;
-	  ok = false;
+	  break;
 	}
     }
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]