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

Reply via email to