diff options
author | Alexander Shaposhnikov <shal1t712@gmail.com> | 2018-05-08 17:12:54 +0000 |
---|---|---|
committer | Alexander Shaposhnikov <shal1t712@gmail.com> | 2018-05-08 17:12:54 +0000 |
commit | b07c22b081e4e6b4a636a703c8e96cc7106a1ce8 (patch) | |
tree | e1e15619c2bac780d6794caa33abdace2a55ef24 | |
parent | 432936161e04a10cc8987ec9932905c1512df71e (diff) | |
download | bcm5719-llvm-b07c22b081e4e6b4a636a703c8e96cc7106a1ce8.tar.gz bcm5719-llvm-b07c22b081e4e6b4a636a703c8e96cc7106a1ce8.zip |
[llvm-objcopy] Fix exit code
Set the exit code to 1 if no arguments are specified.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D46547
llvm-svn: 331776
-rw-r--r-- | llvm/test/tools/llvm-objcopy/help-message.test | 8 | ||||
-rw-r--r-- | llvm/tools/llvm-objcopy/llvm-objcopy.cpp | 16 |
2 files changed, 21 insertions, 3 deletions
diff --git a/llvm/test/tools/llvm-objcopy/help-message.test b/llvm/test/tools/llvm-objcopy/help-message.test new file mode 100644 index 00000000000..5f49967fc8f --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/help-message.test @@ -0,0 +1,8 @@ +# RUN: llvm-objcopy --help | FileCheck --check-prefix=CHECK-OBJCOPY %s +# RUN: not llvm-objcopy 2>&1 | FileCheck --check-prefix=CHECK-OBJCOPY %s + +# RUN: llvm-strip --help | FileCheck --check-prefix=CHECK-STRIP %s +# RUN: not llvm-strip 2>&1 | FileCheck --check-prefix=CHECK-STRIP %s + +# CHECK-OBJCOPY: USAGE: llvm-objcopy +# CHECK-STRIP: USAGE: llvm-strip diff --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp index 295c9bf9285..1cfcb06e8e4 100644 --- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp +++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp @@ -409,8 +409,13 @@ CopyConfig ParseObjcopyOptions(ArrayRef<const char *> ArgsArr) { unsigned MissingArgumentIndex, MissingArgumentCount; llvm::opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MissingArgumentIndex, MissingArgumentCount); - - if (InputArgs.size() == 0 || InputArgs.hasArg(OBJCOPY_help)) { + + if (InputArgs.size() == 0) { + T.PrintHelp(errs(), "llvm-objcopy <input> [ <output> ]", "objcopy tool"); + exit(1); + } + + if (InputArgs.hasArg(OBJCOPY_help)) { T.PrintHelp(outs(), "llvm-objcopy <input> [ <output> ]", "objcopy tool"); exit(0); } @@ -484,7 +489,12 @@ CopyConfig ParseStripOptions(ArrayRef<const char *> ArgsArr) { llvm::opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MissingArgumentIndex, MissingArgumentCount); - if (InputArgs.size() == 0 || InputArgs.hasArg(STRIP_help)) { + if (InputArgs.size() == 0) { + T.PrintHelp(errs(), "llvm-strip <input> [ <output> ]", "strip tool"); + exit(1); + } + + if (InputArgs.hasArg(STRIP_help)) { T.PrintHelp(outs(), "llvm-strip <input> [ <output> ]", "strip tool"); exit(0); } |