[llvm-commits] CVS: llvm-java/lib/Compiler/Compiler.cpp

Alkis Evlogimenos alkis at cs.uiuc.edu
Thu Jul 8 19:18:01 PDT 2004


Changes in directory llvm-java/lib/Compiler:

Compiler.cpp updated: 1.50 -> 1.51

---
Log message:

Fix bug. FunctionSet iterators are invalidated when compileMethod()
inserts more Function*'s in the FunctionSet. Use indices to the vector
instead.


---
Diffs of the changes:  (+2 -5)

Index: llvm-java/lib/Compiler/Compiler.cpp
diff -u llvm-java/lib/Compiler/Compiler.cpp:1.50 llvm-java/lib/Compiler/Compiler.cpp:1.51
--- llvm-java/lib/Compiler/Compiler.cpp:1.50	Thu Jul  8 19:06:30 2004
+++ llvm-java/lib/Compiler/Compiler.cpp	Thu Jul  8 19:17:28 2004
@@ -272,11 +272,8 @@
             bool done;
             do {
                 done = true;
-                for (FunctionSet::iterator
-                         i = toCompileFunctions_.begin(),
-                         e = toCompileFunctions_.end();
-                     i != e; ++i) {
-                    Function* f = *i;
+                for (unsigned i = 0; i != toCompileFunctions_.size(); ++i) {
+                    Function* f = toCompileFunctions_[i];
                     if (f->isExternal()) {
                         done = false;
                         compileMethod(module, f->getName());





More information about the llvm-commits mailing list