r201739 - Use llvm::DeleteContainerSeconds when possible

Jordan Rose jordan_rose at apple.com
Wed Feb 19 15:58:53 PST 2014


Ah, for std::unique_ptr...

On Feb 19, 2014, at 15:44, Reid Kleckner <reid at kleckner.net> 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
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list