]> granicus.if.org Git - llvm/commit
Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting...
authorGeorge Rimar <grimar@accesssoftek.com>
Sat, 17 Aug 2019 16:07:18 +0000 (16:07 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Sat, 17 Aug 2019 16:07:18 +0000 (16:07 +0000)
commitbf2ba230f032fab899fdda03029c87080dd3a799
treedfb78257f7ef25add730d924ad714db12493291a
parentaee8c0dd5a687aff34d66add57087e3a03e90cd3
Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting API."

Fix: Add a `consumeError` call removed by mistake to 'printStackSize',
this should fix the "Expected<T> must be checked before access or destruction." reported by following bot:
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/9743/steps/stage%201%20check/logs/stdio

Original commit message:
Currently we have the following functions for error reporting:

LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg);
void reportError(Error Err, StringRef Input);
void reportWarning(Twine Msg);
void reportWarning(StringRef Input, Error Err);
void warn(llvm::Error Err);
void error(std::error_code EC);

Problems are: naming is inconsistent, arguments order is inconsistent,
some of the functions looks excessive.

After applying this patch we have:

void reportError(Error Err, StringRef Input);
void reportError(std::error_code EC, StringRef Input);
void reportWarning(Error Err, StringRef Input);

I'd be happy to remove reportError(std::error_code EC, StringRef Input) too, but it
is used by COFF heavily.

Test cases were updated, they show an improvement introduced.

Differential revision: https://reviews.llvm.org/D66286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369194 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
test/Object/invalid.test
test/tools/llvm-readobj/elf-broken-dynsym-link.test
test/tools/llvm-readobj/elf-dynamic-malformed.test
test/tools/llvm-readobj/elf-dynamic-not-in-pt-dynamic.test
test/tools/llvm-readobj/elf-malformed-pt-dynamic.test
test/tools/llvm-readobj/elf-non-dynamic-in-pt-dynamic.test
test/tools/llvm-readobj/hex-dump.test
test/tools/llvm-readobj/mips-got.test
test/tools/llvm-readobj/note-core-ntfile-bad.test
test/tools/llvm-readobj/string-dump.test
tools/llvm-readobj/COFFDumper.cpp
tools/llvm-readobj/DwarfCFIEHPrinter.h
tools/llvm-readobj/ELFDumper.cpp
tools/llvm-readobj/MachODumper.cpp
tools/llvm-readobj/ObjDumper.cpp
tools/llvm-readobj/llvm-readobj.cpp
tools/llvm-readobj/llvm-readobj.h