[all-commits] [llvm/llvm-project] 98f078: [llvm-strings] Switch command line parsing from ll...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Jul 5 10:46:32 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98f078324fc51da460660920f4a1aa308bfc3547
      https://github.com/llvm/llvm-project/commit/98f078324fc51da460660920f4a1aa308bfc3547
  Author: Fangrui Song <i at maskray.me>
  Date:   2021-07-05 (Mon, 05 Jul 2021)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-strings.rst
    A llvm/test/tools/llvm-strings/grouped.test
    M llvm/test/tools/llvm-strings/help.test
    M llvm/test/tools/llvm-strings/length.test
    M llvm/test/tools/llvm-strings/radix.test
    M llvm/tools/llvm-strings/CMakeLists.txt
    A llvm/tools/llvm-strings/Opts.td
    M llvm/tools/llvm-strings/llvm-strings.cpp

  Log Message:
  -----------
  [llvm-strings] Switch command line parsing from llvm::cl to OptTable

Some behavior changes:

* `-t=d` is removed. Use `-t d` instead.
* one-dash long options like `-all` are supported. Use `--all` instead.
* `--all=0` or `--all=false` cannot be used. (Note: `--all` is silently ignored anyway)
* `--help-list` is removed. This is a `cl::` specific option.

Nobody is likely leveraging any of the above.

Advantages:

* `-t` diagnostic gets improved.
* in the absence of `HideUnrelatedOptions`, `--help` will not list unrelated options if linking against libLLVM-13git.so or linker GC is not used.
* Decrease the probability of cl::opt collision if we do decide to support multiplexing

Note: because the tool is so simple, used more for forensics instead of a building
tool, and its long options are unlikely used in one-dash form, I just drop the
one-dash form in this patch.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D104889




More information about the All-commits mailing list