diff options
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index ac86d41eb14..d38b5308de0 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -1,4 +1,4 @@ -//===--- ASTReader.cpp - AST File Reader ------------------------*- C++ -*-===// +//===--- ASTReader.cpp - AST File Reader ----------------------------------===// // // The LLVM Compiler Infrastructure // @@ -5963,7 +5963,7 @@ void ASTReader::ReadKnownNamespaces( } void ASTReader::ReadUndefinedInternals( - llvm::MapVector<NamedDecl*, SourceLocation> &Undefined) { + llvm::DenseMap<NamedDecl*, SourceLocation> &Undefined) { for (unsigned Idx = 0, N = UndefinedInternals.size(); Idx != N;) { NamedDecl *D = cast<NamedDecl>(GetDecl(UndefinedInternals[Idx++])); SourceLocation Loc = diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 25e3d52f370..8120799c11d 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -3590,10 +3590,11 @@ void ASTWriter::WriteASTCore(Sema &SemaRef, // Build a record of all used, undefined objects with internal linkage. RecordData UndefinedInternals; - for (llvm::MapVector<NamedDecl*, SourceLocation>::iterator - I = SemaRef.UndefinedInternals.begin(), - IEnd = SemaRef.UndefinedInternals.end(); - I != IEnd; ++I) { + + SmallVector<std::pair<NamedDecl *, SourceLocation>, 16> Undefined; + SemaRef.getUndefinedInternals(Undefined); + for (SmallVectorImpl<std::pair<NamedDecl *, SourceLocation> >::iterator + I = Undefined.begin(), E = Undefined.end(); I != E; ++I) { AddDeclRef(I->first, UndefinedInternals); AddSourceLocation(I->second, UndefinedInternals); } |