Re-commit r214547 with tests fixed. Hopefully all the bots will be happy now.

Original message:

Fix iterator invalidation issues that are breaking my modules buildbot's
bootstrap.

llvm-svn: 214555
This commit is contained in:
Richard Smith
2014-08-01 20:39:36 +00:00
parent e2d6429493
commit 1ba0a07e46
3 changed files with 20 additions and 11 deletions

View File

@@ -94,9 +94,11 @@ namespace {
for (DeclGroupRef::iterator I = DG.begin(), E = DG.end(); I != E; ++I)
Builder->EmitTopLevelDecl(*I);
// Emit any deferred inline method definitions.
for (CXXMethodDecl *MD : DeferredInlineMethodDefinitions)
Builder->EmitTopLevelDecl(MD);
// Emit any deferred inline method definitions. Note that more deferred
// methods may be added during this loop, since ASTConsumer callbacks
// can be invoked if AST inspection results in declarations being added.
for (unsigned I = 0; I != DeferredInlineMethodDefinitions.size(); ++I)
Builder->EmitTopLevelDecl(DeferredInlineMethodDefinitions[I]);
DeferredInlineMethodDefinitions.clear();
return true;