forked from OSchip/llvm-project
llvm-dwp: Simplify duplicate DWO ID error handling
llvm-svn: 269805
This commit is contained in:
parent
e15ef2f609
commit
11825c7237
|
@ -372,13 +372,13 @@ std::string buildDWODescription(StringRef Name, StringRef DWPName, StringRef DWO
|
||||||
return Text;
|
return Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
Error buildDuplicateError(const std::pair<uint64_t, UnitIndexEntry> &PrevE,
|
||||||
buildDuplicateError(const std::pair<uint64_t, UnitIndexEntry> &PrevE,
|
const CompileUnitIdentifiers &ID, StringRef DWPName) {
|
||||||
const CompileUnitIdentifiers &ID, StringRef DWPName) {
|
return make_error<DWPError>(
|
||||||
return std::string("Duplicate DWO ID (") + utohexstr(PrevE.first) + ") in " +
|
std::string("Duplicate DWO ID (") + utohexstr(PrevE.first) + ") in " +
|
||||||
buildDWODescription(PrevE.second.Name, PrevE.second.DWPName,
|
buildDWODescription(PrevE.second.Name, PrevE.second.DWPName,
|
||||||
PrevE.second.DWOName) +
|
PrevE.second.DWOName) +
|
||||||
" and " + buildDWODescription(ID.Name, DWPName, ID.DWOName);
|
" and " + buildDWODescription(ID.Name, DWPName, ID.DWOName));
|
||||||
}
|
}
|
||||||
static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
|
static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
|
||||||
const auto &MCOFI = *Out.getContext().getObjectFileInfo();
|
const auto &MCOFI = *Out.getContext().getObjectFileInfo();
|
||||||
|
@ -523,7 +523,7 @@ static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
|
||||||
return EID.takeError();
|
return EID.takeError();
|
||||||
const auto &ID = *EID;
|
const auto &ID = *EID;
|
||||||
if (!P.second)
|
if (!P.second)
|
||||||
return make_error<DWPError>(buildDuplicateError(*P.first, ID, Input));
|
return buildDuplicateError(*P.first, ID, Input);
|
||||||
auto &NewEntry = P.first->second;
|
auto &NewEntry = P.first->second;
|
||||||
NewEntry.Name = ID.Name;
|
NewEntry.Name = ID.Name;
|
||||||
NewEntry.DWOName = ID.DWOName;
|
NewEntry.DWOName = ID.DWOName;
|
||||||
|
@ -555,7 +555,7 @@ static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
|
||||||
const auto &ID = *EID;
|
const auto &ID = *EID;
|
||||||
auto P = IndexEntries.insert(std::make_pair(ID.Signature, CurEntry));
|
auto P = IndexEntries.insert(std::make_pair(ID.Signature, CurEntry));
|
||||||
if (!P.second)
|
if (!P.second)
|
||||||
return make_error<DWPError>(buildDuplicateError(*P.first, ID, ""));
|
return buildDuplicateError(*P.first, ID, "");
|
||||||
P.first->second.Name = ID.Name;
|
P.first->second.Name = ID.Name;
|
||||||
P.first->second.DWOName = ID.DWOName;
|
P.first->second.DWOName = ID.DWOName;
|
||||||
addAllTypes(Out, TypeIndexEntries, TypesSection, CurTypesSection,
|
addAllTypes(Out, TypeIndexEntries, TypesSection, CurTypesSection,
|
||||||
|
|
Loading…
Reference in New Issue