
Many command line option implementations, including getopt_long and our Support/CommandLine.cpp, support `--` as an end-of-option indicator. All the subsequent arguments are then treated as positional arguments. D1387 added KIND_REMAINING_ARGS and 76ff1d915c9c42823a3f2b08ff936cf7a48933c5 dropped special handling of `--`. Users need to add `def DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>;` and append `OPT_DASH_DASH` to the `OPT_INPUT` list., which is not ergonomic. Restore this feature under an option and modify llvm-strings to utilize the feature as an example. In the future, we probably should enable this feature by default and exclude some tools that handle `DASH_DASH` differently (clang, clang-scan-deps, etc. I suspect that many are workarounds for LLVMOption not supporting `--` as a built-in feature). Reviewed By: serge-sans-paille Differential Revision: https://reviews.llvm.org/D152286
7 lines
154 B
Plaintext
7 lines
154 B
Plaintext
## Show that -- stops option scanning.
|
|
|
|
RUN: rm -rf %t && mkdir %t && cd %t
|
|
RUN: echo abcd > -a
|
|
RUN: llvm-strings -f -- -a | FileCheck %s
|
|
CHECK: -a: abcd
|