Ah, for std::unique_ptr... On Feb 19, 2014, at 15:44, Reid Kleckner <[email protected]> wrote:
> Author: rnk > Date: Wed Feb 19 17:44:52 2014 > New Revision: 201739 > > URL: http://llvm.org/viewvc/llvm-project?rev=201739&view=rev > Log: > Use llvm::DeleteContainerSeconds when possible > > Modified: > cfe/trunk/lib/AST/ASTContext.cpp > cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp > cfe/trunk/lib/Analysis/CallGraph.cpp > cfe/trunk/lib/Basic/SourceManager.cpp > cfe/trunk/lib/CodeGen/CodeGenTypes.cpp > cfe/trunk/lib/Driver/Driver.cpp > cfe/trunk/lib/Frontend/ASTUnit.cpp > cfe/trunk/lib/Lex/Pragma.cpp > cfe/trunk/lib/Sema/Sema.cpp > cfe/trunk/lib/Serialization/ASTWriter.cpp > cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp > cfe/trunk/lib/StaticAnalyzer/Core/SymbolManager.cpp > > Modified: cfe/trunk/lib/AST/ASTContext.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/AST/ASTContext.cpp (original) > +++ cfe/trunk/lib/AST/ASTContext.cpp Wed Feb 19 17:44:52 2014 > @@ -783,11 +783,7 @@ ASTContext::~ASTContext() { > A != AEnd; ++A) > A->second->~AttrVec(); > > - for (llvm::DenseMap<const DeclContext *, MangleNumberingContext > *>::iterator > - I = MangleNumberingContexts.begin(), > - E = MangleNumberingContexts.end(); > - I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(MangleNumberingContexts); > } > > void ASTContext::AddDeallocation(void (*Callback)(void*), void *Data) { > > Modified: cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp (original) > +++ cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp Wed Feb 19 17:44:52 2014 > @@ -81,9 +81,7 @@ AnalysisDeclContextManager::AnalysisDecl > } > > void AnalysisDeclContextManager::clear() { > - for (ContextMap::iterator I = Contexts.begin(), E = Contexts.end(); I!=E; > ++I) > - delete I->second; > - Contexts.clear(); > + llvm::DeleteContainerSeconds(Contexts); > } > > static BodyFarm &getBodyFarm(ASTContext &C) { > @@ -557,15 +555,13 @@ AnalysisDeclContext::~AnalysisDeclContex > // Release the managed analyses. > if (ManagedAnalyses) { > ManagedAnalysisMap *M = (ManagedAnalysisMap*) ManagedAnalyses; > - for (ManagedAnalysisMap::iterator I = M->begin(), E = M->end(); I!=E; > ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(*M); > delete M; > } > } > > AnalysisDeclContextManager::~AnalysisDeclContextManager() { > - for (ContextMap::iterator I = Contexts.begin(), E = Contexts.end(); I!=E; > ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(Contexts); > } > > LocationContext::~LocationContext() {} > > Modified: cfe/trunk/lib/Analysis/CallGraph.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/CallGraph.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Analysis/CallGraph.cpp (original) > +++ cfe/trunk/lib/Analysis/CallGraph.cpp Wed Feb 19 17:44:52 2014 > @@ -106,12 +106,7 @@ CallGraph::CallGraph() { > } > > CallGraph::~CallGraph() { > - if (!FunctionMap.empty()) { > - for (FunctionMapTy::iterator I = FunctionMap.begin(), E = > FunctionMap.end(); > - I != E; ++I) > - delete I->second; > - FunctionMap.clear(); > - } > + llvm::DeleteContainerSeconds(FunctionMap); > } > > bool CallGraph::includeInGraph(const Decl *D) { > > Modified: cfe/trunk/lib/Basic/SourceManager.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/SourceManager.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Basic/SourceManager.cpp (original) > +++ cfe/trunk/lib/Basic/SourceManager.cpp Wed Feb 19 17:44:52 2014 > @@ -404,10 +404,7 @@ SourceManager::~SourceManager() { > delete FakeBufferForRecovery; > delete FakeContentCacheForRecovery; > > - for (llvm::DenseMap<FileID, MacroArgsMap *>::iterator > - I = MacroArgsCacheMap.begin(),E = MacroArgsCacheMap.end(); I!=E; > ++I) { > - delete I->second; > - } > + llvm::DeleteContainerSeconds(MacroArgsCacheMap); > } > > void SourceManager::clearIDTables() { > > Modified: cfe/trunk/lib/CodeGen/CodeGenTypes.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenTypes.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/CodeGen/CodeGenTypes.cpp (original) > +++ cfe/trunk/lib/CodeGen/CodeGenTypes.cpp Wed Feb 19 17:44:52 2014 > @@ -38,10 +38,7 @@ CodeGenTypes::CodeGenTypes(CodeGenModule > } > > CodeGenTypes::~CodeGenTypes() { > - for (llvm::DenseMap<const Type *, CGRecordLayout *>::iterator > - I = CGRecordLayouts.begin(), E = CGRecordLayouts.end(); > - I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(CGRecordLayouts); > > for (llvm::FoldingSet<CGFunctionInfo>::iterator > I = FunctionInfos.begin(), E = FunctionInfos.end(); I != E; ) > > Modified: cfe/trunk/lib/Driver/Driver.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Driver.cpp (original) > +++ cfe/trunk/lib/Driver/Driver.cpp Wed Feb 19 17:44:52 2014 > @@ -77,10 +77,7 @@ Driver::Driver(StringRef ClangExecutable > Driver::~Driver() { > delete Opts; > > - for (llvm::StringMap<ToolChain *>::iterator I = ToolChains.begin(), > - E = ToolChains.end(); > - I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(ToolChains); > } > > void Driver::ParseDriverMode(ArrayRef<const char *> Args) { > > Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Frontend/ASTUnit.cpp (original) > +++ cfe/trunk/lib/Frontend/ASTUnit.cpp Wed Feb 19 17:44:52 2014 > @@ -191,10 +191,7 @@ struct ASTUnit::ASTWriterData { > }; > > void ASTUnit::clearFileLevelDecls() { > - for (FileDeclsTy::iterator > - I = FileDecls.begin(), E = FileDecls.end(); I != E; ++I) > - delete I->second; > - FileDecls.clear(); > + llvm::DeleteContainerSeconds(FileDecls); > } > > void ASTUnit::CleanTemporaryFiles() { > > Modified: cfe/trunk/lib/Lex/Pragma.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Pragma.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Lex/Pragma.cpp (original) > +++ cfe/trunk/lib/Lex/Pragma.cpp Wed Feb 19 17:44:52 2014 > @@ -48,9 +48,7 @@ void EmptyPragmaHandler::HandlePragma(Pr > //===----------------------------------------------------------------------===// > > PragmaNamespace::~PragmaNamespace() { > - for (llvm::StringMap<PragmaHandler*>::iterator > - I = Handlers.begin(), E = Handlers.end(); I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(Handlers); > } > > /// FindHandler - Check to see if there is already a handler for the > > Modified: cfe/trunk/lib/Sema/Sema.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Sema/Sema.cpp (original) > +++ cfe/trunk/lib/Sema/Sema.cpp Wed Feb 19 17:44:52 2014 > @@ -208,10 +208,7 @@ void Sema::Initialize() { > } > > Sema::~Sema() { > - for (LateParsedTemplateMapT::iterator I = LateParsedTemplateMap.begin(), > - E = LateParsedTemplateMap.end(); > - I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(LateParsedTemplateMap); > if (PackContext) FreePackedContext(); > if (VisContext) FreeVisContext(); > // Kill all the active scopes. > > Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/Serialization/ASTWriter.cpp (original) > +++ cfe/trunk/lib/Serialization/ASTWriter.cpp Wed Feb 19 17:44:52 2014 > @@ -3799,9 +3799,7 @@ ASTWriter::ASTWriter(llvm::BitstreamWrit > } > > ASTWriter::~ASTWriter() { > - for (FileDeclIDsTy::iterator > - I = FileDeclIDs.begin(), E = FileDeclIDs.end(); I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(FileDeclIDs); > } > > void ASTWriter::WriteAST(Sema &SemaRef, > > Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp (original) > +++ cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp Wed Feb 19 17:44:52 2014 > @@ -2802,9 +2802,7 @@ void BugReporter::FlushReports() { > // EmitBasicReport. > // FIXME: There are leaks from checkers that assume that the BugTypes they > // create will be destroyed by the BugReporter. > - for (llvm::StringMap<BugType*>::iterator > - I = StrBugTypes.begin(), E = StrBugTypes.end(); I != E; ++I) > - delete I->second; > + llvm::DeleteContainerSeconds(StrBugTypes); > > // Remove all references to the BugType objects. > BugTypes = F.getEmptySet(); > > Modified: cfe/trunk/lib/StaticAnalyzer/Core/SymbolManager.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/SymbolManager.cpp?rev=201739&r1=201738&r2=201739&view=diff > ============================================================================== > --- cfe/trunk/lib/StaticAnalyzer/Core/SymbolManager.cpp (original) > +++ cfe/trunk/lib/StaticAnalyzer/Core/SymbolManager.cpp Wed Feb 19 17:44:52 > 2014 > @@ -326,11 +326,7 @@ QualType SymbolRegionValue::getType() co > } > > SymbolManager::~SymbolManager() { > - for (SymbolDependTy::const_iterator I = SymbolDependencies.begin(), > - E = SymbolDependencies.end(); I != E; ++I) { > - delete I->second; > - } > - > + llvm::DeleteContainerSeconds(SymbolDependencies); > } > > bool SymbolManager::canSymbolicate(QualType T) { > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
