Refactoring: raw pointer -> unique_ptr
authorAnton Yartsev <anton.yartsev@gmail.com>
Thu, 25 Sep 2014 19:55:58 +0000 (19:55 +0000)
committerAnton Yartsev <anton.yartsev@gmail.com>
Thu, 25 Sep 2014 19:55:58 +0000 (19:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218462 91177308-0d34-0410-b5e6-96231b3b80d8

lib/TableGen/TGParser.cpp

index f2910019ed96dfb289ebfde95dc9b10f77dfb587..2e67f5fa977c9cec6d6f93d218db9a555be2ed41 100644 (file)
@@ -232,16 +232,14 @@ bool TGParser::AddSubMultiClass(MultiClass *CurMC,
        i != iend;
        ++i) {
     // Clone the def and add it to the current multiclass
-    Record *NewDef = new Record(**i);
+    auto NewDef = make_unique<Record>(**i);
 
     // Add all of the values in the superclass into the current def.
     for (unsigned i = 0, e = MCVals.size(); i != e; ++i)
-      if (AddValue(NewDef, SubMultiClass.RefRange.Start, MCVals[i])) {
-        delete NewDef;
+      if (AddValue(NewDef.get(), SubMultiClass.RefRange.Start, MCVals[i]))
         return true;
-      }
 
-    CurMC->DefPrototypes.push_back(NewDef);
+    CurMC->DefPrototypes.push_back(NewDef.release());
   }
 
   const std::vector<Init *> &SMCTArgs = SMC->Rec.getTemplateArgs();