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