Author: dpatel Date: Mon Jul 9 15:52:39 2007 New Revision: 38469 URL: http://llvm.org/viewvc/llvm-project?rev=38469&view=rev Log: Fix memory leak.
Modified: llvm/trunk/include/llvm/Pass.h llvm/trunk/lib/VMCore/PassManager.cpp Modified: llvm/trunk/include/llvm/Pass.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Pass.h?rev=38469&r1=38468&r2=38469&view=diff ============================================================================== --- llvm/trunk/include/llvm/Pass.h (original) +++ llvm/trunk/include/llvm/Pass.h Mon Jul 9 15:52:39 2007 @@ -130,8 +130,14 @@ } // Access AnalysisResolver - inline void setResolver(AnalysisResolver *AR) { Resolver = AR; } - inline AnalysisResolver *getResolver() { return Resolver; } + inline void setResolver(AnalysisResolver *AR) { + assert (!Resolver && "Resolver is already set"); + Resolver = AR; + } + inline AnalysisResolver *getResolver() { + assert (Resolver && "Resolver is not set"); + return Resolver; + } /// getAnalysisUsage - This function should be overriden by passes that need /// analysis information to do their job. If a pass specifies that it uses a Modified: llvm/trunk/lib/VMCore/PassManager.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=38469&r1=38468&r2=38469&view=diff ============================================================================== --- llvm/trunk/lib/VMCore/PassManager.cpp (original) +++ llvm/trunk/lib/VMCore/PassManager.cpp Mon Jul 9 15:52:39 2007 @@ -1380,9 +1380,6 @@ PM->setTopLevelManager(TPM); } - AnalysisResolver *AR = new AnalysisResolver(*Top); - P->setResolver(AR); - S.push_back(PM); } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits