From d9485dfbc12b277e4ba222f4c0e371c5914fe51e Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Tue, 28 Apr 2020 17:58:53 -0700 Subject: [PATCH] ASTUnit::FileDecls: Use unique_ptr to simplify memory management --- clang/include/clang/Frontend/ASTUnit.h | 2 +- clang/lib/Frontend/ASTUnit.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/clang/include/clang/Frontend/ASTUnit.h b/clang/include/clang/Frontend/ASTUnit.h index a366551..50ab86e 100644 --- a/clang/include/clang/Frontend/ASTUnit.h +++ b/clang/include/clang/Frontend/ASTUnit.h @@ -172,7 +172,7 @@ private: /// 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 7920aa2..57d025b 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); -- 2.7.4