Author: Jonas Devlieghere
Date: 2020-05-20T09:40:40-07:00
New Revision: 5b5b81bcdccb43164e86cfc6a0ac966afc3a143c

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

LOG: [lldb/Driver] Error out when encountering unknown arguments

There appears to be consensus in D80165 that this is the desired
behavior and I personally agree.

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

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 1b6283aa0dbb..c821d668ea07 100644
--- a/lldb/test/Shell/Driver/TestPositionalArgs.test
+++ b/lldb/test/Shell/Driver/TestPositionalArgs.test
@@ -23,10 +23,8 @@ RUN: %lldb -x -b -f %t.foo -- bar -baz --quux | FileCheck %s 
--check-prefix DASH
 DASH: Current executable set to {{.*}}foo
 DASH: target.run-args "bar" "-baz" "--quux"
 
-RUN: %lldb -x -b %t.foo bar -baz --quux 2>&1 | FileCheck %s --check-prefix 
UNKNOWN
-RUN: %lldb -x -b -f %t.foo bar -baz --quux 2>&1 | FileCheck %s --check-prefix 
UNKNOWN
+RUN: not %lldb -x -b %t.foo bar -baz --quux 2>&1 | FileCheck %s --check-prefix 
UNKNOWN
+RUN: not %lldb -x -b -f %t.foo bar -baz --quux 2>&1 | FileCheck %s 
--check-prefix UNKNOWN
 
-UNKNOWN: warning: ignoring unknown option: -baz
-UNKNOWN: warning: ignoring unknown option: --quux
-UNKNOWN: Current executable set to {{.*}}foo
-UNKNOWN: target.run-args "bar"
+UNKNOWN: error: unknown option: -baz
+UNKNOWN: error: unknown option: --quux

diff  --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index 7b783ad9c3f4..4e3ea7e4c015 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -856,9 +856,12 @@ int main(int argc, char const *argv[]) {
     return 0;
   }
 
-  for (auto *arg : input_args.filtered(OPT_UNKNOWN)) {
-    WithColor::warning() << "ignoring unknown option: " << arg->getSpelling()
-                         << '\n';
+  // Error out on unknown options.
+  if (input_args.hasArg(OPT_UNKNOWN)) {
+    for (auto *arg : input_args.filtered(OPT_UNKNOWN)) {
+      WithColor::error() << "unknown option: " << arg->getSpelling() << '\n';
+    }
+    return 1;
   }
 
   if (auto exit_code = InitializeReproducer(input_args)) {


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to