BugPoint: Fix some memory leaks.
[oota-llvm.git] / tools / llvm-symbolizer / LLVMSymbolize.h
index 4ad3e97306d51ff89aaf11eced7ba6728d07d95d..a1283a511af635e47dff505f22d50fd6070be19f 100644 (file)
 #ifndef LLVM_SYMBOLIZE_H
 #define LLVM_SYMBOLIZE_H
 
-#include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/DebugInfo/DIContext.h"
 #include "llvm/Object/MachOUniversal.h"
 #include "llvm/Object/ObjectFile.h"
 #include "llvm/Support/MemoryBuffer.h"
 #include <map>
+#include <memory>
 #include <string>
 
 namespace llvm {
@@ -73,7 +73,7 @@ private:
   std::string printDILineInfo(DILineInfo LineInfo) const;
 
   // Owns all the parsed binaries and object files.
-  SmallVector<Binary*, 4> ParsedBinariesAndObjects;
+  SmallVector<std::unique_ptr<Binary>, 4> ParsedBinariesAndObjects;
   // Owns module info objects.
   typedef std::map<std::string, ModuleInfo *> ModuleMapTy;
   ModuleMapTy Modules;
@@ -102,9 +102,9 @@ private:
   bool getNameFromSymbolTable(SymbolRef::Type Type, uint64_t Address,
                               std::string &Name, uint64_t &Addr,
                               uint64_t &Size) const;
-  void addSymbol(const symbol_iterator &Sym);
+  void addSymbol(const SymbolRef &Symbol);
   ObjectFile *Module;
-  OwningPtr<DIContext> DebugInfoContext;
+  std::unique_ptr<DIContext> DebugInfoContext;
 
   struct SymbolDesc {
     uint64_t Addr;