summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-07-26 05:35:59 +0000
committerDavide Italiano <davide@freebsd.org>2015-07-26 05:35:59 +0000
commit4376ddb88e2a1a92a216ca15757bda66530f829f (patch)
tree428f05d4ead2c02f46e886d5b3a3d2973a587ac7 /llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
parent1da7df37006055ef3a75a83c06638d27647b91a5 (diff)
downloadbcm5719-llvm-4376ddb88e2a1a92a216ca15757bda66530f829f.tar.gz
bcm5719-llvm-4376ddb88e2a1a92a216ca15757bda66530f829f.zip
[llvm-dwarfump] Don't rely on global state, part 3.
Some tools used to rely on a global static variable to keep track of the return value for main(). I changed llvm-cxxdump to use exit(1) and Rafael shortly after did the same with llvm-readobj. This is (yet) another step towards the goal. llvm-svn: 243240
Diffstat (limited to 'llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp')
-rw-r--r--llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index db3fcf6ee7b..cd48d81c8de 100644
--- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -69,27 +69,22 @@ DumpType("debug-dump", cl::init(DIDT_All),
clEnumValN(DIDT_StrOffsetsDwo, "str_offsets.dwo", ".debug_str_offsets.dwo"),
clEnumValEnd));
-static int ReturnValue = EXIT_SUCCESS;
-
-static bool error(StringRef Filename, std::error_code EC) {
+static void error(StringRef Filename, std::error_code EC) {
if (!EC)
- return false;
+ return;
errs() << Filename << ": " << EC.message() << "\n";
- ReturnValue = EXIT_FAILURE;
- return true;
+ exit(1);
}
static void DumpInput(StringRef Filename) {
ErrorOr<std::unique_ptr<MemoryBuffer>> BuffOrErr =
MemoryBuffer::getFileOrSTDIN(Filename);
- if (error(Filename, BuffOrErr.getError()))
- return;
+ error(Filename, BuffOrErr.getError());
std::unique_ptr<MemoryBuffer> Buff = std::move(BuffOrErr.get());
ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr =
ObjectFile::createObjectFile(Buff->getMemBufferRef());
- if (error(Filename, ObjOrErr.getError()))
- return;
+ error(Filename, ObjOrErr.getError());
ObjectFile &Obj = *ObjOrErr.get();
std::unique_ptr<DIContext> DICtx(new DWARFContextInMemory(Obj));
@@ -114,5 +109,5 @@ int main(int argc, char **argv) {
std::for_each(InputFilenames.begin(), InputFilenames.end(), DumpInput);
- return ReturnValue;
+ return EXIT_SUCCESS;
}
OpenPOWER on IntegriCloud