[Lldb-commits] [lldb] ce19664 - [lldb/Driver] Print snippet before exiting with unknown argument.

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed May 20 12:35:13 PDT 2020


Author: Jonas Devlieghere
Date: 2020-05-20T12:35:02-07:00
New Revision: ce19664d94b7dacc7291e947b19f5ccab0bba981

URL: https://github.com/llvm/llvm-project/commit/ce19664d94b7dacc7291e947b19f5ccab0bba981
DIFF: https://github.com/llvm/llvm-project/commit/ce19664d94b7dacc7291e947b19f5ccab0bba981.diff

LOG: [lldb/Driver] Print snippet before exiting with unknown argument.

Print a little snippet before exiting when passed unrecognized
arguments. The goal is twofold:

 - Point users to lldb --help.
 - Make it clear that we exited the debugger.

Added: 
    

Modified: 
    lldb/test/Shell/Driver/TestPositionalArgs.test
    lldb/tools/driver/Driver.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/test/Shell/Driver/TestPositionalArgs.test b/lldb/test/Shell/Driver/TestPositionalArgs.test
index c821d668ea07..8072029ef2eb 100644
--- a/lldb/test/Shell/Driver/TestPositionalArgs.test
+++ b/lldb/test/Shell/Driver/TestPositionalArgs.test
@@ -28,3 +28,4 @@ RUN: not %lldb -x -b -f %t.foo bar -baz --quux 2>&1 | FileCheck %s --check-prefi
 
 UNKNOWN: error: unknown option: -baz
 UNKNOWN: error: unknown option: --quux
+UNKNOWN: Use 'lldb --help' for a complete list of options.

diff  --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index 4e3ea7e4c015..1e639e9a1dea 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -850,9 +850,10 @@ int main(int argc, char const *argv[]) {
   unsigned MAC;
   ArrayRef<const char *> arg_arr = makeArrayRef(argv + 1, argc - 1);
   opt::InputArgList input_args = T.ParseArgs(arg_arr, MAI, MAC);
+  llvm::StringRef argv0 = llvm::sys::path::filename(argv[0]);
 
   if (input_args.hasArg(OPT_help)) {
-    printHelp(T, llvm::sys::path::filename(argv[0]));
+    printHelp(T, argv0);
     return 0;
   }
 
@@ -861,6 +862,8 @@ int main(int argc, char const *argv[]) {
     for (auto *arg : input_args.filtered(OPT_UNKNOWN)) {
       WithColor::error() << "unknown option: " << arg->getSpelling() << '\n';
     }
+    llvm::errs() << "Use '" << argv0
+                 << " --help' for a complete list of options.\n";
     return 1;
   }
 


        


More information about the lldb-commits mailing list