git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222948
91177308-0d34-0410-b5e6-
96231b3b80d8
auto I = Defs.find(Name);
return I == Defs.end() ? nullptr : I->second.get();
}
auto I = Defs.find(Name);
return I == Defs.end() ? nullptr : I->second.get();
}
- void addClass(Record *_R) {
- std::unique_ptr<Record> R(_R);
+ void addClass(std::unique_ptr<Record> R) {
bool Ins = Classes.insert(std::make_pair(R->getName(),
std::move(R))).second;
(void)Ins;
assert(Ins && "Class already exists");
}
bool Ins = Classes.insert(std::make_pair(R->getName(),
std::move(R))).second;
(void)Ins;
assert(Ins && "Class already exists");
}
- void addDef(Record *_R) {
- std::unique_ptr<Record> R(_R);
+ void addDef(std::unique_ptr<Record> R) {
bool Ins = Defs.insert(std::make_pair(R->getName(),
std::move(R))).second;
(void)Ins;
bool Ins = Defs.insert(std::make_pair(R->getName(),
std::move(R))).second;
(void)Ins;
}
Record *IterRecSave = IterRec.get(); // Keep a copy before release.
}
Record *IterRecSave = IterRec.get(); // Keep a copy before release.
- Records.addDef(IterRec.release());
+ Records.addDef(std::move(IterRec));
IterRecSave->resolveReferences();
return false;
}
IterRecSave->resolveReferences();
return false;
}
if (!CurMultiClass) {
NewRec->resolveReferences();
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.
} else {
// This needs to get resolved once the multiclass template arguments are
// known before any use.
if (Records.getDef(CurRec->getNameInitAsString()))
return Error(DefLoc, "def '" + CurRec->getNameInitAsString()+
"' already defined");
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;
if (ParseObjectBody(CurRec))
return true;
+ "' already defined");
} else {
// If this is the first reference to this class, create and add it.
+ "' 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.
}
Lex.Lex(); // eat the name.
}
Record *CurRecSave = CurRec.get(); // Keep a copy before we release.
}
Record *CurRecSave = CurRec.get(); // Keep a copy before we release.
- Records.addDef(CurRec.release());
+ Records.addDef(std::move(CurRec));