[llvm] r331776 - [llvm-objcopy] Fix exit code

Alexander Shaposhnikov via llvm-commits llvm-commits at lists.llvm.org
Tue May 8 10:12:55 PDT 2018


Author: alexshap
Date: Tue May  8 10:12:54 2018
New Revision: 331776

URL: http://llvm.org/viewvc/llvm-project?rev=331776&view=rev
Log:
[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


Added:
    llvm/trunk/test/tools/llvm-objcopy/help-message.test
Modified:
    llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp

Added: llvm/trunk/test/tools/llvm-objcopy/help-message.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/help-message.test?rev=331776&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/help-message.test (added)
+++ llvm/trunk/test/tools/llvm-objcopy/help-message.test Tue May  8 10:12:54 2018
@@ -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

Modified: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp?rev=331776&r1=331775&r2=331776&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (original)
+++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp Tue May  8 10:12:54 2018
@@ -409,8 +409,13 @@ CopyConfig ParseObjcopyOptions(ArrayRef<
   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<co
   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);
   }




More information about the llvm-commits mailing list