Skip to content

Commit dd591bd

Browse files
author
George Rimar
committedAug 27, 2019
[llvm-objdump] - Remove one overload of reportError. NFCI.
There is a problem with reportError we have. Declaration says we have ArchiveName that follows the FileName: reportError(Error E, StringRef FileName, StringRef ArchiveName,... Though implementation have them reversed. I cleaned it up and removed an excessive reportError(Error E, StringRef File) version. Rebased on top of D66418. Differential revision: https://reviews.llvm.org/D66517 llvm-svn: 370034
1 parent 999e4c4 commit dd591bd

File tree

3 files changed

+34
-47
lines changed

3 files changed

+34
-47
lines changed
 

‎llvm/tools/llvm-objdump/MachODump.cpp

+22-24
Original file line numberDiff line numberDiff line change
@@ -1945,7 +1945,7 @@ static void ProcessMachO(StringRef Name, MachOObjectFile *MachOOF,
19451945
// the error message.
19461946
if (Disassemble || IndirectSymbols || !FilterSections.empty() || UnwindInfo)
19471947
if (Error Err = MachOOF->checkSymbolTable())
1948-
reportError(std::move(Err), ArchiveName, FileName, ArchitectureName);
1948+
reportError(std::move(Err), FileName, ArchiveName, ArchitectureName);
19491949

19501950
if (DisassembleAll) {
19511951
for (const SectionRef &Section : MachOOF->sections()) {
@@ -2219,9 +2219,8 @@ static void printArchiveChild(StringRef Filename, const Archive::Child &C,
22192219
if (print_offset)
22202220
outs() << C.getChildOffset() << "\t";
22212221
sys::fs::perms Mode =
2222-
unwrapOrError(C.getAccessMode(), Filename,
2223-
getFileNameForError(C, ChildIndex),
2224-
ArchitectureName);
2222+
unwrapOrError(C.getAccessMode(), getFileNameForError(C, ChildIndex),
2223+
Filename, ArchitectureName);
22252224
if (verbose) {
22262225
// FIXME: this first dash, "-", is for (Mode & S_IFMT) == S_IFREG.
22272226
// But there is nothing in sys::fs::perms for S_IFMT or S_IFREG.
@@ -2239,14 +2238,14 @@ static void printArchiveChild(StringRef Filename, const Archive::Child &C,
22392238
outs() << format("0%o ", Mode);
22402239
}
22412240

2242-
outs() << format(
2243-
"%3d/%-3d %5" PRId64 " ",
2244-
unwrapOrError(C.getUID(), Filename, getFileNameForError(C, ChildIndex),
2245-
ArchitectureName),
2246-
unwrapOrError(C.getGID(), Filename, getFileNameForError(C, ChildIndex),
2247-
ArchitectureName),
2248-
unwrapOrError(C.getRawSize(), Filename,
2249-
getFileNameForError(C, ChildIndex), ArchitectureName));
2241+
outs() << format("%3d/%-3d %5" PRId64 " ",
2242+
unwrapOrError(C.getUID(), getFileNameForError(C, ChildIndex),
2243+
Filename, ArchitectureName),
2244+
unwrapOrError(C.getGID(), getFileNameForError(C, ChildIndex),
2245+
Filename, ArchitectureName),
2246+
unwrapOrError(C.getRawSize(),
2247+
getFileNameForError(C, ChildIndex), Filename,
2248+
ArchitectureName));
22502249

22512250
StringRef RawLastModified = C.getRawLastModified();
22522251
if (verbose) {
@@ -2269,18 +2268,17 @@ static void printArchiveChild(StringRef Filename, const Archive::Child &C,
22692268
Expected<StringRef> NameOrErr = C.getName();
22702269
if (!NameOrErr) {
22712270
consumeError(NameOrErr.takeError());
2272-
outs() << unwrapOrError(C.getRawName(), Filename,
2273-
getFileNameForError(C, ChildIndex),
2271+
outs() << unwrapOrError(C.getRawName(),
2272+
getFileNameForError(C, ChildIndex), Filename,
22742273
ArchitectureName)
22752274
<< "\n";
22762275
} else {
22772276
StringRef Name = NameOrErr.get();
22782277
outs() << Name << "\n";
22792278
}
22802279
} else {
2281-
outs() << unwrapOrError(C.getRawName(), Filename,
2282-
getFileNameForError(C, ChildIndex),
2283-
ArchitectureName)
2280+
outs() << unwrapOrError(C.getRawName(), getFileNameForError(C, ChildIndex),
2281+
Filename, ArchitectureName)
22842282
<< "\n";
22852283
}
22862284
}
@@ -2295,7 +2293,7 @@ static void printArchiveHeaders(StringRef Filename, Archive *A, bool verbose,
22952293
ArchitectureName);
22962294

22972295
if (Err)
2298-
reportError(std::move(Err), StringRef(), Filename, ArchitectureName);
2296+
reportError(std::move(Err), Filename, "", ArchitectureName);
22992297
}
23002298

23012299
static bool ValidateArchFlags() {
@@ -2346,7 +2344,7 @@ void parseInputMachO(StringRef Filename) {
23462344
Expected<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
23472345
if (!ChildOrErr) {
23482346
if (Error E = isNotObjectErrorInvalidFileType(ChildOrErr.takeError()))
2349-
reportError(std::move(E), Filename, getFileNameForError(C, I));
2347+
reportError(std::move(E), getFileNameForError(C, I), Filename);
23502348
continue;
23512349
}
23522350
if (MachOObjectFile *O = dyn_cast<MachOObjectFile>(&*ChildOrErr.get())) {
@@ -2408,7 +2406,7 @@ void parseInputMachO(MachOUniversalBinary *UB) {
24082406
ProcessMachO(Filename, MachOOF, "", ArchitectureName);
24092407
} else if (Error E = isNotObjectErrorInvalidFileType(
24102408
ObjOrErr.takeError())) {
2411-
reportError(std::move(E), Filename, StringRef(), ArchitectureName);
2409+
reportError(std::move(E), "", Filename, ArchitectureName);
24122410
continue;
24132411
} else if (Expected<std::unique_ptr<Archive>> AOrErr =
24142412
I->getAsArchive()) {
@@ -2428,7 +2426,7 @@ void parseInputMachO(MachOUniversalBinary *UB) {
24282426
if (!ChildOrErr) {
24292427
if (Error E =
24302428
isNotObjectErrorInvalidFileType(ChildOrErr.takeError()))
2431-
reportError(std::move(E), Filename, getFileNameForError(C, I),
2429+
reportError(std::move(E), getFileNameForError(C, I), Filename,
24322430
ArchitectureName);
24332431
continue;
24342432
}
@@ -2489,7 +2487,7 @@ void parseInputMachO(MachOUniversalBinary *UB) {
24892487
if (!ChildOrErr) {
24902488
if (Error E =
24912489
isNotObjectErrorInvalidFileType(ChildOrErr.takeError()))
2492-
reportError(std::move(E), Filename, getFileNameForError(C, I));
2490+
reportError(std::move(E), getFileNameForError(C, I), Filename);
24932491
continue;
24942492
}
24952493
if (MachOObjectFile *O =
@@ -2524,7 +2522,7 @@ void parseInputMachO(MachOUniversalBinary *UB) {
25242522
ProcessMachO(Filename, MachOOF, "", ArchitectureName);
25252523
} else if (Error E =
25262524
isNotObjectErrorInvalidFileType(ObjOrErr.takeError())) {
2527-
reportError(std::move(E), StringRef(), Filename, ArchitectureName);
2525+
reportError(std::move(E), Filename, "", ArchitectureName);
25282526
} else if (Expected<std::unique_ptr<Archive>> AOrErr = I->getAsArchive()) {
25292527
std::unique_ptr<Archive> &A = *AOrErr;
25302528
outs() << "Archive : " << Filename;
@@ -2541,7 +2539,7 @@ void parseInputMachO(MachOUniversalBinary *UB) {
25412539
Expected<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
25422540
if (!ChildOrErr) {
25432541
if (Error E = isNotObjectErrorInvalidFileType(ChildOrErr.takeError()))
2544-
reportError(std::move(E), Filename, getFileNameForError(C, I),
2542+
reportError(std::move(E), getFileNameForError(C, I), Filename,
25452543
ArchitectureName);
25462544
continue;
25472545
}

‎llvm/tools/llvm-objdump/llvm-objdump.cpp

+9-19
Original file line numberDiff line numberDiff line change
@@ -389,18 +389,8 @@ LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Twine Message) {
389389
exit(1);
390390
}
391391

392-
LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef File) {
393-
assert(E);
394-
std::string Buf;
395-
raw_string_ostream OS(Buf);
396-
logAllUnhandledErrors(std::move(E), OS);
397-
OS.flush();
398-
WithColor::error(errs(), ToolName) << "'" << File << "': " << Buf;
399-
exit(1);
400-
}
401-
402-
LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef ArchiveName,
403-
StringRef FileName,
392+
LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef FileName,
393+
StringRef ArchiveName,
404394
StringRef ArchitectureName) {
405395
assert(E);
406396
WithColor::error(errs(), ToolName);
@@ -1752,15 +1742,15 @@ void printSymbolTable(const ObjectFile *O, StringRef ArchiveName,
17521742
const StringRef FileName = O->getFileName();
17531743
for (auto I = O->symbol_begin(), E = O->symbol_end(); I != E; ++I) {
17541744
const SymbolRef &Symbol = *I;
1755-
uint64_t Address = unwrapOrError(Symbol.getAddress(), ArchiveName, FileName,
1745+
uint64_t Address = unwrapOrError(Symbol.getAddress(), FileName, ArchiveName,
17561746
ArchitectureName);
17571747
if ((Address < StartAddress) || (Address > StopAddress))
17581748
continue;
1759-
SymbolRef::Type Type = unwrapOrError(Symbol.getType(), ArchiveName,
1760-
FileName, ArchitectureName);
1749+
SymbolRef::Type Type = unwrapOrError(Symbol.getType(), FileName,
1750+
ArchiveName, ArchitectureName);
17611751
uint32_t Flags = Symbol.getFlags();
1762-
section_iterator Section = unwrapOrError(Symbol.getSection(), ArchiveName,
1763-
FileName, ArchitectureName);
1752+
section_iterator Section = unwrapOrError(Symbol.getSection(), FileName,
1753+
ArchiveName, ArchitectureName);
17641754
StringRef Name;
17651755
if (Type == SymbolRef::ST_Debug && Section != O->section_end()) {
17661756
if (Expected<StringRef> NameOrErr = Section->getName())
@@ -1769,7 +1759,7 @@ void printSymbolTable(const ObjectFile *O, StringRef ArchiveName,
17691759
consumeError(NameOrErr.takeError());
17701760

17711761
} else {
1772-
Name = unwrapOrError(Symbol.getName(), ArchiveName, FileName,
1762+
Name = unwrapOrError(Symbol.getName(), FileName, ArchiveName,
17731763
ArchitectureName);
17741764
}
17751765

@@ -2156,7 +2146,7 @@ static void dumpArchive(const Archive *A) {
21562146
Expected<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
21572147
if (!ChildOrErr) {
21582148
if (auto E = isNotObjectErrorInvalidFileType(ChildOrErr.takeError()))
2159-
reportError(std::move(E), A->getFileName(), getFileNameForError(C, I));
2149+
reportError(std::move(E), getFileNameForError(C, I), A->getFileName());
21602150
continue;
21612151
}
21622152
if (ObjectFile *O = dyn_cast<ObjectFile>(&*ChildOrErr.get()))

‎llvm/tools/llvm-objdump/llvm-objdump.h

+3-4
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,9 @@ void printSectionContents(const object::ObjectFile *O);
128128
void printSymbolTable(const object::ObjectFile *O, StringRef ArchiveName,
129129
StringRef ArchitectureName = StringRef());
130130
LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Twine Message);
131-
LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef File);
132-
LLVM_ATTRIBUTE_NORETURN void
133-
reportError(Error E, StringRef FileName, StringRef ArchiveName,
134-
StringRef ArchitectureName = StringRef());
131+
LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef FileName,
132+
StringRef ArchiveName = "",
133+
StringRef ArchitectureName = "");
135134
void reportWarning(Twine Message, StringRef File);
136135

137136
template <typename T, typename... Ts>

0 commit comments

Comments
 (0)
Please sign in to comment.