hintonda added a comment.
In D59746#1456115 <https://reviews.llvm.org/D59746#1456115>, @alexfh wrote:
> Can you give a specific example of how this problem manifests?
Any tool using `tooling::CommonOptionsParser` with the `llvm::cl::OneOrMore`
flag will have this problem, i.e., the `-h` flag will be seen, but no action
taken because it was never wired up. Please note that we changed `clang-tidy`
to use `cl::ZeroOrMore` a few years ago, so it'll spit out help with or without
any arguments, including `-h`. However, if you pass a bad argument with `-h`
you'll get an error, but no help.
Here are a few you can verify (first try with `-h`, then `-help`):
$ bin/clang-tidy -h -x
LLVM ERROR: CommonOptionsParser: failed to parse command-line arguments.
[CommonOptionsParser]: clang-tidy: Unknown command line argument '-x'. Try:
'bin/clang-tidy -help'
clang-tidy: Did you mean '-h'?
$ bin/clang-tidy -help -x
USAGE: clang-tidy [options] <source0> [... <sourceN>]
<snip>
$ bin/clang-refactor -h
error: no refactoring action given
note: the following actions are supported:
local-rename
extract
$ bin/clang-refactor -help
OVERVIEW: Clang-based refactoring tool for C, C++ and Objective-C
USAGE: clang-refactor [options] <source0> [... <sourceN>]
<snip>
$ bin/clang-apply-replacements -h
clang-apply-replacements: Unknown command line argument '-h'. Try:
'bin/clang-apply-replacements -help'
clang-apply-replacements: Did you mean '-help'?
clang-apply-replacements: Not enough positional command line arguments
specified!
Must specify at least 1 positional argument: See:
bin/clang-apply-replacements -help
$ bin/clang-apply-replacements -help
USAGE: clang-apply-replacements [options] <Search Root Directory>
<snip>
$ bin/clang-change-namespace -h
clang-change-namespace: for the -old_namespace option: must be specified at
least once!
clang-change-namespace: for the -new_namespace option: must be specified at
least once!
clang-change-namespace: for the -file_pattern option: must be specified at
least once!
LLVM ERROR: CommonOptionsParser: failed to parse command-line arguments.
[CommonOptionsParser]: clang-change-namespace: Not enough positional command
line arguments specified!
Must specify at least 1 positional argument: See: bin/clang-change-namespace
-help
$ bin/clang-change-namespace -help
USAGE: clang-change-namespace [options] <source0> [... <sourceN>]
<snip>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59746/new/
https://reviews.llvm.org/D59746
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits