diff --git a/clang/include/clang/Frontend/ASTUnit.h b/clang/include/clang/Frontend/ASTUnit.h index a36655150d4ec9..50ab86ebad9727 100644 --- a/clang/include/clang/Frontend/ASTUnit.h +++ b/clang/include/clang/Frontend/ASTUnit.h @@ -172,7 +172,7 @@ class ASTUnit { /// Sorted (by file offset) vector of pairs of file offset/Decl. using LocDeclsTy = SmallVector, 64>; - using FileDeclsTy = llvm::DenseMap; + using FileDeclsTy = llvm::DenseMap>; /// Map from FileID to the file-level declarations that it contains. /// The files and decls are only local (and non-preamble) ones. diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index 7920aa2b5cbe1c..57d025b7c32e76 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -224,7 +224,7 @@ struct ASTUnit::ASTWriterData { }; void ASTUnit::clearFileLevelDecls() { - llvm::DeleteContainerSeconds(FileDecls); + FileDecls.clear(); } /// After failing to build a precompiled preamble (due to @@ -2436,9 +2436,9 @@ void ASTUnit::addFileLevelDecl(Decl *D) { if (FID.isInvalid()) return; - LocDeclsTy *&Decls = FileDecls[FID]; + std::unique_ptr &Decls = FileDecls[FID]; if (!Decls) - Decls = new LocDeclsTy(); + Decls = std::make_unique(); std::pair LocDecl(Offset, D);