[PATCH] D83530: WIP: [llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 22:53:21 PDT 2020


MaskRay created this revision.
Herald added subscribers: llvm-commits, rupprecht, mgorny.
Herald added a reviewer: jhenderson.
Herald added a project: LLVM.

- The way to turn off an `llvm::cl::opt<bool>` is `--inlines=false` or `--inlines=0`, which is different from prevailing --foo/--no-foo used by other user-facing utilities.
- Handle --foo/--no-foo is cumbersome with llvm::cl (see --demangle/--no-demangle)

Some behavior changes:

- Added --no-inlines: replacement for -i=0
- --output-style= is ignored for llvm-addr2line

This is a WIP because llvm::cl does not support grouped short options,
POSIX.1-2017 12.2 Utility Syntax Guidelines:

> One or more options without option-arguments, followed by at most one
>  option that takes an option-argument, should be accepted when grouped
>  behind one '-' delimiter.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83530

Files:
  llvm/test/tools/llvm-symbolizer/Inputs/flush-output.py
  llvm/test/tools/llvm-symbolizer/basic.s
  llvm/test/tools/llvm-symbolizer/functions.s
  llvm/test/tools/llvm-symbolizer/output-style-inlined.test
  llvm/test/tools/llvm-symbolizer/split-dwarf.test
  llvm/test/tools/llvm-symbolizer/untag-addresses.test
  llvm/tools/llvm-symbolizer/CMakeLists.txt
  llvm/tools/llvm-symbolizer/Opts.td
  llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83530.276912.patch
Type: text/x-patch
Size: 30549 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200710/0cfaacc9/attachment.bin>


More information about the llvm-commits mailing list