Stop leaking register infos in the disassemblers.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Aug 2013 22:16:16 +0000 (22:16 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Aug 2013 22:16:16 +0000 (22:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187695 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/Disassembler/MipsDisassembler.cpp
lib/Target/XCore/Disassembler/XCoreDisassembler.cpp

index bf640a747dc3c1af455c7a852c82dd631a68f36e..ef019224d49c7cde9197882e23815397b58fbcbf 100644 (file)
@@ -39,10 +39,10 @@ public:
 
   virtual ~MipsDisassemblerBase() {}
 
-  const MCRegisterInfo *getRegInfo() const { return RegInfo; }
+  const MCRegisterInfo *getRegInfo() const { return RegInfo.get(); }
 
 private:
-  const MCRegisterInfo *RegInfo;
+  OwningPtr<const MCRegisterInfo> RegInfo;
 protected:
   bool isBigEndian;
 };
index dcc0955028b2005bb30963efbed9e9080a4c2f9f..9c20abd4c6c70ded1f4d510636d54698823b1885 100644 (file)
@@ -29,7 +29,7 @@ namespace {
 
 /// \brief A disassembler class for XCore.
 class XCoreDisassembler : public MCDisassembler {
-  const MCRegisterInfo *RegInfo;
+  OwningPtr<const MCRegisterInfo> RegInfo;
 public:
   XCoreDisassembler(const MCSubtargetInfo &STI, const MCRegisterInfo *Info) :
     MCDisassembler(STI), RegInfo(Info) {}
@@ -42,7 +42,7 @@ public:
                                       raw_ostream &vStream,
                                       raw_ostream &cStream) const;
 
-  const MCRegisterInfo *getRegInfo() const { return RegInfo; }
+  const MCRegisterInfo *getRegInfo() const { return RegInfo.get(); }
 };
 }