[modules] Fix use-after-iterator-invalidation bug.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 6 Aug 2015 22:14:12 +0000 (22:14 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 6 Aug 2015 22:14:12 +0000 (22:14 +0000)
llvm-svn: 244288

clang/lib/Serialization/ASTReader.cpp

index acb19a2..2412d04 100644 (file)
@@ -6185,7 +6185,7 @@ void ASTReader::FindExternalLexicalDecls(
     SmallVectorImpl<Decl *> &Decls) {
   bool PredefsVisited[NUM_PREDEF_DECL_IDS] = {};
 
-  auto Visit = [&] (ModuleFile *M, const LexicalContents &LexicalDecls) {
+  auto Visit = [&] (ModuleFile *M, LexicalContents LexicalDecls) {
     assert(LexicalDecls.size() % 2 == 0 && "expected an even number of entries");
     for (int I = 0, N = LexicalDecls.size(); I != N; I += 2) {
       auto K = (Decl::Kind)+LexicalDecls[I];