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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits