diff options
author | Fangrui Song <i@maskray.me> | 2021-07-12 10:14:42 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2021-07-12 10:14:42 -0700 |
commit | 46580d43fc70dcecf21d2cedceeb4910c756fa6e (patch) | |
tree | 6eeae71f07bdd67222f128839876f4f6c399dfa1 /llvm/tools/llvm-readobj/llvm-readobj.h | |
parent | fe892114e33b8f98bf3537a0dd6d6798821cb849 (diff) | |
download | llvm-46580d43fc70dcecf21d2cedceeb4910c756fa6e.zip llvm-46580d43fc70dcecf21d2cedceeb4910c756fa6e.tar.gz llvm-46580d43fc70dcecf21d2cedceeb4910c756fa6e.tar.bz2 |
[llvm-readobj] Switch command line parsing from llvm::cl to OptTable
Users should generally observe no difference as long as they don't use
unintended option forms. Behavior changes:
* `-t=d` is removed. Use `-t d` instead.
* `--demangle=false` and `--demangle=0` cannot be used. Omit the option or use `--no-demangle`. Other flag-style options don't have `--no-` forms.
* `--help-list` is removed. This is a `cl::` specific option.
* llvm-readobj now supports grouped short options as well.
* `--color` is removed. This is generally not useful (only apply to errors/warnings) but was inherited from Support.
Some adjustment to the canonical forms
(usually from GNU readelf; currently llvm-readobj has too many redundant aliases):
* --dyn-syms is canonical. --dyn-symbols is a hidden alias
* --file-header is canonical. --file-headers is a hidden alias
* --histogram is canonical. --elf-hash-histogram is a hidden alias
* --relocs is canonical. --relocations is a hidden alias
* --section-groups is canonical. --elf-section-groups is a hidden alias
OptTable avoids global option collision if we decide to support multiplexing for binary utilities.
* Most one-dash long options are still supported. `-dt, -sd, -st, -sr` are dropped due to their conflict with grouped short options.
* `--section-mapping=false` (D57365) is strange but is kept for now.
* Many `cl::opt` variables were unnecessarily external. I added `static` whenever appropriate.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D105532
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.h')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.h b/llvm/tools/llvm-readobj/llvm-readobj.h index d9813f5..43d19b4 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.h +++ b/llvm/tools/llvm-readobj/llvm-readobj.h @@ -32,15 +32,15 @@ namespace llvm { } // namespace llvm namespace opts { - extern llvm::cl::opt<bool> SectionRelocations; - extern llvm::cl::opt<bool> SectionSymbols; - extern llvm::cl::opt<bool> SectionData; - extern llvm::cl::opt<bool> ExpandRelocs; - extern llvm::cl::opt<bool> RawRelr; - extern llvm::cl::opt<bool> CodeViewSubsectionBytes; - extern llvm::cl::opt<bool> Demangle; - enum OutputStyleTy { LLVM, GNU }; - extern llvm::cl::opt<OutputStyleTy> Output; +extern bool SectionRelocations; +extern bool SectionSymbols; +extern bool SectionData; +extern bool ExpandRelocs; +extern bool RawRelr; +extern bool CodeViewSubsectionBytes; +extern bool Demangle; +enum OutputStyleTy { LLVM, GNU }; +extern OutputStyleTy Output; } // namespace opts #define LLVM_READOBJ_ENUM_ENT(ns, enum) \ |