diff options
author | Craig Topper <craig.topper@gmail.com> | 2014-11-29 05:52:51 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2014-11-29 05:52:51 +0000 |
commit | cdab2326b8f583549c0956e470c1c77c663e6c02 (patch) | |
tree | b9bba00a9c404579d686110b63a7c3b911d0d235 /llvm/lib/TableGen/TGParser.cpp | |
parent | 8413871a7c815478dd4b83dbebea5c1f4b17222b (diff) | |
download | llvm-cdab2326b8f583549c0956e470c1c77c663e6c02.zip llvm-cdab2326b8f583549c0956e470c1c77c663e6c02.tar.gz llvm-cdab2326b8f583549c0956e470c1c77c663e6c02.tar.bz2 |
Make RecordKeeper::addClass/addDef take unique_ptrs instead of creating one internally.
llvm-svn: 222948
Diffstat (limited to 'llvm/lib/TableGen/TGParser.cpp')
-rw-r--r-- | llvm/lib/TableGen/TGParser.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp index c594da8..8f83714 100644 --- a/llvm/lib/TableGen/TGParser.cpp +++ b/llvm/lib/TableGen/TGParser.cpp @@ -371,7 +371,7 @@ bool TGParser::ProcessForeachDefs(Record *CurRec, SMLoc Loc, IterSet &IterVals){ } Record *IterRecSave = IterRec.get(); // Keep a copy before release. - Records.addDef(IterRec.release()); + Records.addDef(std::move(IterRec)); IterRecSave->resolveReferences(); return false; } @@ -1252,7 +1252,7 @@ Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType, if (!CurMultiClass) { NewRec->resolveReferences(); - Records.addDef(NewRecOwner.release()); + Records.addDef(std::move(NewRecOwner)); } else { // This needs to get resolved once the multiclass template arguments are // known before any use. @@ -2044,7 +2044,7 @@ bool TGParser::ParseDef(MultiClass *CurMultiClass) { if (Records.getDef(CurRec->getNameInitAsString())) return Error(DefLoc, "def '" + CurRec->getNameInitAsString()+ "' already defined"); - Records.addDef(CurRecOwner.release()); + Records.addDef(std::move(CurRecOwner)); if (ParseObjectBody(CurRec)) return true; @@ -2169,8 +2169,10 @@ bool TGParser::ParseClass() { + "' already defined"); } else { // If this is the first reference to this class, create and add it. - CurRec = new Record(Lex.getCurStrVal(), Lex.getLoc(), Records); - Records.addClass(CurRec); + auto NewRec = make_unique<Record>(Lex.getCurStrVal(), Lex.getLoc(), + Records); + CurRec = NewRec.get(); + Records.addClass(std::move(NewRec)); } Lex.Lex(); // eat the name. @@ -2442,7 +2444,7 @@ InstantiateMulticlassDef(MultiClass &MC, } Record *CurRecSave = CurRec.get(); // Keep a copy before we release. - Records.addDef(CurRec.release()); + Records.addDef(std::move(CurRec)); return CurRecSave; } |