Skip to content

Commit 45eb84f

Browse files
committed
[Support] Make error banner optional in logAllUnhandledErrors
In a lot of places an empty string was passed as the ErrorBanner to logAllUnhandledErrors. This patch makes that argument optional to simplify the call sites. llvm-svn: 346604
1 parent ef33a19 commit 45eb84f

File tree

25 files changed

+61
-61
lines changed

25 files changed

+61
-61
lines changed

llvm/include/llvm/Support/Error.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -953,10 +953,14 @@ Expected<T> handleExpected(Expected<T> ValOrErr, RecoveryFtor &&RecoveryPath,
953953
/// will be printed before the first one is logged. A newline will be printed
954954
/// after each error.
955955
///
956+
/// This function is compatible with the helpers from Support/WithColor.h. You
957+
/// can pass any of them as the OS. Please consider using them instead of
958+
/// including 'error: ' in the ErrorBanner.
959+
///
956960
/// This is useful in the base level of your program to allow clean termination
957961
/// (allowing clean deallocation of resources, etc.), while reporting error
958962
/// information to the user.
959-
void logAllUnhandledErrors(Error E, raw_ostream &OS, Twine ErrorBanner);
963+
void logAllUnhandledErrors(Error E, raw_ostream &OS, Twine ErrorBanner = {});
960964

961965
/// Write all error messages (if any) in E to a string. The newline character
962966
/// is used to separate error messages.

llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ void MCJIT::generateCodeForModule(Module *M) {
216216
if (!LoadedObject) {
217217
std::string Buf;
218218
raw_string_ostream OS(Buf);
219-
logAllUnhandledErrors(LoadedObject.takeError(), OS, "");
219+
logAllUnhandledErrors(LoadedObject.takeError(), OS);
220220
OS.flush();
221221
report_fatal_error(Buf);
222222
}

llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ RuntimeDyldCOFF::loadObject(const object::ObjectFile &O) {
6666
} else {
6767
HasError = true;
6868
raw_string_ostream ErrStream(ErrorStr);
69-
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream, "");
69+
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream);
7070
return nullptr;
7171
}
7272
}

llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ RuntimeDyldELF::loadObject(const object::ObjectFile &O) {
255255
else {
256256
HasError = true;
257257
raw_string_ostream ErrStream(ErrorStr);
258-
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream, "");
258+
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream);
259259
return nullptr;
260260
}
261261
}
@@ -1130,7 +1130,7 @@ RuntimeDyldELF::processRelocationRef(
11301130
if (!SymTypeOrErr) {
11311131
std::string Buf;
11321132
raw_string_ostream OS(Buf);
1133-
logAllUnhandledErrors(SymTypeOrErr.takeError(), OS, "");
1133+
logAllUnhandledErrors(SymTypeOrErr.takeError(), OS);
11341134
OS.flush();
11351135
report_fatal_error(Buf);
11361136
}
@@ -1151,7 +1151,7 @@ RuntimeDyldELF::processRelocationRef(
11511151
if (!SectionOrErr) {
11521152
std::string Buf;
11531153
raw_string_ostream OS(Buf);
1154-
logAllUnhandledErrors(SectionOrErr.takeError(), OS, "");
1154+
logAllUnhandledErrors(SectionOrErr.takeError(), OS);
11551155
OS.flush();
11561156
report_fatal_error(Buf);
11571157
}

llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ RuntimeDyldMachO::loadObject(const object::ObjectFile &O) {
370370
else {
371371
HasError = true;
372372
raw_string_ostream ErrStream(ErrorStr);
373-
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream, "");
373+
logAllUnhandledErrors(ObjSectionToIDOrErr.takeError(), ErrStream);
374374
return nullptr;
375375
}
376376
}

llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ static bool isThumbFunc(symbol_iterator Symbol, const ObjectFile &Obj,
2828
if (!SymTypeOrErr) {
2929
std::string Buf;
3030
raw_string_ostream OS(Buf);
31-
logAllUnhandledErrors(SymTypeOrErr.takeError(), OS, "");
31+
logAllUnhandledErrors(SymTypeOrErr.takeError(), OS);
3232
OS.flush();
3333
report_fatal_error(Buf);
3434
}

llvm/lib/LTO/LTOModule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ bool LTOModule::isBitcodeFile(StringRef Path) {
7373
bool LTOModule::isThinLTO() {
7474
Expected<BitcodeLTOInfo> Result = getBitcodeLTOInfo(MBRef);
7575
if (!Result) {
76-
logAllUnhandledErrors(Result.takeError(), errs(), "");
76+
logAllUnhandledErrors(Result.takeError(), errs());
7777
return false;
7878
}
7979
return Result->IsThinLTO;

llvm/lib/Object/Object.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect,
105105
if (!SecOrErr) {
106106
std::string Buf;
107107
raw_string_ostream OS(Buf);
108-
logAllUnhandledErrors(SecOrErr.takeError(), OS, "");
108+
logAllUnhandledErrors(SecOrErr.takeError(), OS);
109109
OS.flush();
110110
report_fatal_error(Buf);
111111
}
@@ -187,7 +187,7 @@ const char *LLVMGetSymbolName(LLVMSymbolIteratorRef SI) {
187187
if (!Ret) {
188188
std::string Buf;
189189
raw_string_ostream OS(Buf);
190-
logAllUnhandledErrors(Ret.takeError(), OS, "");
190+
logAllUnhandledErrors(Ret.takeError(), OS);
191191
OS.flush();
192192
report_fatal_error(Buf);
193193
}
@@ -199,7 +199,7 @@ uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI) {
199199
if (!Ret) {
200200
std::string Buf;
201201
raw_string_ostream OS(Buf);
202-
logAllUnhandledErrors(Ret.takeError(), OS, "");
202+
logAllUnhandledErrors(Ret.takeError(), OS);
203203
OS.flush();
204204
report_fatal_error(Buf);
205205
}

llvm/lib/Support/Error.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ void report_fatal_error(Error Err, bool GenCrashDiag) {
141141
std::string ErrMsg;
142142
{
143143
raw_string_ostream ErrStream(ErrMsg);
144-
logAllUnhandledErrors(std::move(Err), ErrStream, "");
144+
logAllUnhandledErrors(std::move(Err), ErrStream);
145145
}
146146
report_fatal_error(ErrMsg);
147147
}

llvm/tools/lli/lli.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ int main(int argc, char **argv, char * const *envp) {
511511
if (!ArOrErr) {
512512
std::string Buf;
513513
raw_string_ostream OS(Buf);
514-
logAllUnhandledErrors(ArOrErr.takeError(), OS, "");
514+
logAllUnhandledErrors(ArOrErr.takeError(), OS);
515515
OS.flush();
516516
errs() << Buf;
517517
exit(1);

llvm/tools/llvm-cov/TestingSupport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ int convertForTestingMain(int argc, const char *argv[]) {
3333
if (!ObjErr) {
3434
std::string Buf;
3535
raw_string_ostream OS(Buf);
36-
logAllUnhandledErrors(ObjErr.takeError(), OS, "");
36+
logAllUnhandledErrors(ObjErr.takeError(), OS);
3737
OS.flush();
3838
errs() << "error: " << Buf;
3939
return 1;

llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ static void error(std::error_code EC) {
5252
static void error(Error Err) {
5353
if (!Err)
5454
return;
55-
logAllUnhandledErrors(std::move(Err), WithColor::error(outs(), ""), "reading file: ");
55+
logAllUnhandledErrors(std::move(Err), WithColor::error(outs()),
56+
"reading file: ");
5657
outs().flush();
5758
exit(1);
5859
}
@@ -497,7 +498,7 @@ static void dumpArchive(const Archive *Arc) {
497498
if (auto E = isNotObjectErrorInvalidFileType(ChildOrErr.takeError())) {
498499
std::string Buf;
499500
raw_string_ostream OS(Buf);
500-
logAllUnhandledErrors(std::move(E), OS, "");
501+
logAllUnhandledErrors(std::move(E), OS);
501502
OS.flush();
502503
reportError(Arc->getFileName(), Buf);
503504
}

llvm/tools/llvm-nm/llvm-nm.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ static bool error(std::error_code EC, Twine Path = Twine()) {
209209

210210
// This version of error() prints the archive name and member name, for example:
211211
// "libx.a(foo.o)" after the ToolName before the error message. It sets
212-
// HadError but returns allowing the code to move on to other archive members.
212+
// HadError but returns allowing the code to move on to other archive members.
213213
static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
214214
StringRef ArchitectureName = StringRef()) {
215215
HadError = true;
@@ -230,15 +230,15 @@ static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
230230

231231
std::string Buf;
232232
raw_string_ostream OS(Buf);
233-
logAllUnhandledErrors(std::move(E), OS, "");
233+
logAllUnhandledErrors(std::move(E), OS);
234234
OS.flush();
235235
errs() << " " << Buf << "\n";
236236
}
237237

238238
// This version of error() prints the file name and which architecture slice it
239239
// is from, for example: "foo.o (for architecture i386)" after the ToolName
240240
// before the error message. It sets HadError but returns allowing the code to
241-
// move on to other architecture slices.
241+
// move on to other architecture slices.
242242
static void error(llvm::Error E, StringRef FileName,
243243
StringRef ArchitectureName = StringRef()) {
244244
HadError = true;
@@ -249,7 +249,7 @@ static void error(llvm::Error E, StringRef FileName,
249249

250250
std::string Buf;
251251
raw_string_ostream OS(Buf);
252-
logAllUnhandledErrors(std::move(E), OS, "");
252+
logAllUnhandledErrors(std::move(E), OS);
253253
OS.flush();
254254
errs() << " " << Buf << "\n";
255255
}
@@ -1029,8 +1029,7 @@ static char getSymbolNMTypeChar(MachOObjectFile &Obj, basic_symbol_iterator I) {
10291029
StringRef SectionName;
10301030
Obj.getSectionName(Ref, SectionName);
10311031
StringRef SegmentName = Obj.getSectionFinalSegmentName(Ref);
1032-
if (Obj.is64Bit() &&
1033-
Obj.getHeader64().filetype == MachO::MH_KEXT_BUNDLE &&
1032+
if (Obj.is64Bit() && Obj.getHeader64().filetype == MachO::MH_KEXT_BUNDLE &&
10341033
SegmentName == "__TEXT_EXEC" && SectionName == "__text")
10351034
return 't';
10361035
if (SegmentName == "__TEXT" && SectionName == "__text")
@@ -1606,7 +1605,7 @@ dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName,
16061605
uint64_t lc_main_offset = UINT64_MAX;
16071606
for (const auto &Command : MachO->load_commands()) {
16081607
if (Command.C.cmd == MachO::LC_FUNCTION_STARTS) {
1609-
// We found a function starts segment, parse the addresses for
1608+
// We found a function starts segment, parse the addresses for
16101609
// consumption.
16111610
MachO::linkedit_data_command LLC =
16121611
MachO->getLinkeditDataLoadCommand(Command);

llvm/tools/llvm-objcopy/llvm-objcopy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Error E) {
6666
assert(E);
6767
std::string Buf;
6868
raw_string_ostream OS(Buf);
69-
logAllUnhandledErrors(std::move(E), OS, "");
69+
logAllUnhandledErrors(std::move(E), OS);
7070
OS.flush();
7171
WithColor::error(errs(), ToolName) << "'" << File << "': " << Buf;
7272
exit(1);

llvm/tools/llvm-objcopy/llvm-objcopy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ template <class T> T unwrapOrError(Expected<T> EO) {
3131
return *EO;
3232
std::string Buf;
3333
raw_string_ostream OS(Buf);
34-
logAllUnhandledErrors(EO.takeError(), OS, "");
34+
logAllUnhandledErrors(EO.takeError(), OS);
3535
OS.flush();
3636
error(Buf);
3737
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ LLVM_ATTRIBUTE_NORETURN void llvm::report_error(StringRef File,
372372
assert(E);
373373
std::string Buf;
374374
raw_string_ostream OS(Buf);
375-
logAllUnhandledErrors(std::move(E), OS, "");
375+
logAllUnhandledErrors(std::move(E), OS);
376376
OS.flush();
377377
errs() << ToolName << ": '" << File << "': " << Buf;
378378
exit(1);
@@ -392,7 +392,7 @@ LLVM_ATTRIBUTE_NORETURN void llvm::report_error(StringRef ArchiveName,
392392
errs() << " (for architecture " << ArchitectureName << ")";
393393
std::string Buf;
394394
raw_string_ostream OS(Buf);
395-
logAllUnhandledErrors(std::move(E), OS, "");
395+
logAllUnhandledErrors(std::move(E), OS);
396396
OS.flush();
397397
errs() << ": " << Buf;
398398
exit(1);

llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ bool Decoder::dumpXDataRecord(const COFFObjectFile &COFF,
903903
if (!Name) {
904904
std::string Buf;
905905
llvm::raw_string_ostream OS(Buf);
906-
logAllUnhandledErrors(Name.takeError(), OS, "");
906+
logAllUnhandledErrors(Name.takeError(), OS);
907907
OS.flush();
908908
report_fatal_error(Buf);
909909
}
@@ -942,7 +942,7 @@ bool Decoder::dumpUnpackedEntry(const COFFObjectFile &COFF,
942942
if (!FunctionNameOrErr) {
943943
std::string Buf;
944944
llvm::raw_string_ostream OS(Buf);
945-
logAllUnhandledErrors(FunctionNameOrErr.takeError(), OS, "");
945+
logAllUnhandledErrors(FunctionNameOrErr.takeError(), OS);
946946
OS.flush();
947947
report_fatal_error(Buf);
948948
}
@@ -951,7 +951,7 @@ bool Decoder::dumpUnpackedEntry(const COFFObjectFile &COFF,
951951
if (!FunctionAddressOrErr) {
952952
std::string Buf;
953953
llvm::raw_string_ostream OS(Buf);
954-
logAllUnhandledErrors(FunctionAddressOrErr.takeError(), OS, "");
954+
logAllUnhandledErrors(FunctionAddressOrErr.takeError(), OS);
955955
OS.flush();
956956
report_fatal_error(Buf);
957957
}
@@ -967,7 +967,7 @@ bool Decoder::dumpUnpackedEntry(const COFFObjectFile &COFF,
967967
if (!Name) {
968968
std::string Buf;
969969
llvm::raw_string_ostream OS(Buf);
970-
logAllUnhandledErrors(Name.takeError(), OS, "");
970+
logAllUnhandledErrors(Name.takeError(), OS);
971971
OS.flush();
972972
report_fatal_error(Buf);
973973
}
@@ -976,7 +976,7 @@ bool Decoder::dumpUnpackedEntry(const COFFObjectFile &COFF,
976976
if (!AddressOrErr) {
977977
std::string Buf;
978978
llvm::raw_string_ostream OS(Buf);
979-
logAllUnhandledErrors(AddressOrErr.takeError(), OS, "");
979+
logAllUnhandledErrors(AddressOrErr.takeError(), OS);
980980
OS.flush();
981981
report_fatal_error(Buf);
982982
}
@@ -1025,7 +1025,7 @@ bool Decoder::dumpPackedEntry(const object::COFFObjectFile &COFF,
10251025
if (!FunctionNameOrErr) {
10261026
std::string Buf;
10271027
llvm::raw_string_ostream OS(Buf);
1028-
logAllUnhandledErrors(FunctionNameOrErr.takeError(), OS, "");
1028+
logAllUnhandledErrors(FunctionNameOrErr.takeError(), OS);
10291029
OS.flush();
10301030
report_fatal_error(Buf);
10311031
}
@@ -1034,7 +1034,7 @@ bool Decoder::dumpPackedEntry(const object::COFFObjectFile &COFF,
10341034
if (!FunctionAddressOrErr) {
10351035
std::string Buf;
10361036
llvm::raw_string_ostream OS(Buf);
1037-
logAllUnhandledErrors(FunctionAddressOrErr.takeError(), OS, "");
1037+
logAllUnhandledErrors(FunctionAddressOrErr.takeError(), OS);
10381038
OS.flush();
10391039
report_fatal_error(Buf);
10401040
}

llvm/tools/llvm-readobj/llvm-readobj.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ namespace llvm {
4040
return *EO;
4141
std::string Buf;
4242
raw_string_ostream OS(Buf);
43-
logAllUnhandledErrors(EO.takeError(), OS, "");
43+
logAllUnhandledErrors(EO.takeError(), OS);
4444
OS.flush();
4545
reportError(Buf);
4646
}

llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ static int printLineInfoForInput(bool LoadObjects, bool UseDebugObj) {
309309
if (!MaybeObj) {
310310
std::string Buf;
311311
raw_string_ostream OS(Buf);
312-
logAllUnhandledErrors(MaybeObj.takeError(), OS, "");
312+
logAllUnhandledErrors(MaybeObj.takeError(), OS);
313313
OS.flush();
314314
ErrorAndExit("unable to create object file: '" + Buf + "'");
315315
}
@@ -438,7 +438,7 @@ static int executeInput() {
438438
if (!MaybeObj) {
439439
std::string Buf;
440440
raw_string_ostream OS(Buf);
441-
logAllUnhandledErrors(MaybeObj.takeError(), OS, "");
441+
logAllUnhandledErrors(MaybeObj.takeError(), OS);
442442
OS.flush();
443443
ErrorAndExit("unable to create object file: '" + Buf + "'");
444444
}
@@ -710,7 +710,7 @@ static int linkAndVerify() {
710710
if (!MaybeObj) {
711711
std::string Buf;
712712
raw_string_ostream OS(Buf);
713-
logAllUnhandledErrors(MaybeObj.takeError(), OS, "");
713+
logAllUnhandledErrors(MaybeObj.takeError(), OS);
714714
OS.flush();
715715
ErrorAndExit("unable to create object file: '" + Buf + "'");
716716
}

llvm/tools/llvm-size/llvm-size.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
140140

141141
std::string Buf;
142142
raw_string_ostream OS(Buf);
143-
logAllUnhandledErrors(std::move(E), OS, "");
143+
logAllUnhandledErrors(std::move(E), OS);
144144
OS.flush();
145145
errs() << " " << Buf << "\n";
146146
}
@@ -158,7 +158,7 @@ static void error(llvm::Error E, StringRef FileName,
158158

159159
std::string Buf;
160160
raw_string_ostream OS(Buf);
161-
logAllUnhandledErrors(std::move(E), OS, "");
161+
logAllUnhandledErrors(std::move(E), OS);
162162
OS.flush();
163163
errs() << " " << Buf << "\n";
164164
}

llvm/tools/llvm-xray/xray-stacks.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ static CommandRegistration Unused(&Stack, []() -> Error {
737737
Twine("Failed loading input file '") + Filename + "'",
738738
std::make_error_code(std::errc::invalid_argument)),
739739
TraceOrErr.takeError());
740-
logAllUnhandledErrors(TraceOrErr.takeError(), errs(), "");
740+
logAllUnhandledErrors(TraceOrErr.takeError(), errs());
741741
continue;
742742
}
743743
auto &T = *TraceOrErr;

llvm/tools/obj2yaml/coff2yaml.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ void COFFDumper::dumpSections(unsigned NumSections) {
188188
if (!SymbolNameOrErr) {
189189
std::string Buf;
190190
raw_string_ostream OS(Buf);
191-
logAllUnhandledErrors(SymbolNameOrErr.takeError(), OS, "");
191+
logAllUnhandledErrors(SymbolNameOrErr.takeError(), OS);
192192
OS.flush();
193193
report_fatal_error(Buf);
194194
}

llvm/tools/obj2yaml/obj2yaml.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static void reportError(StringRef Input, Error Err) {
5050
Input = "<stdin>";
5151
std::string ErrMsg;
5252
raw_string_ostream OS(ErrMsg);
53-
logAllUnhandledErrors(std::move(Err), OS, "");
53+
logAllUnhandledErrors(std::move(Err), OS);
5454
OS.flush();
5555
errs() << "Error reading file: " << Input << ": " << ErrMsg;
5656
errs().flush();

0 commit comments

Comments
 (0)