diff options
Diffstat (limited to 'llvm/tools/llvm-pdbutil/llvm-pdbutil.h')
-rw-r--r-- | llvm/tools/llvm-pdbutil/llvm-pdbutil.h | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.h b/llvm/tools/llvm-pdbutil/llvm-pdbutil.h index 37c4ca3ee5d..f1699d0bb55 100644 --- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.h +++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.h @@ -27,8 +27,6 @@ uint32_t getTypeLength(const PDBSymbolData &Symbol); namespace opts { -enum class DumpLevel { None, Basic, Verbose }; - enum class ModuleSubsection { Unknown, Lines, @@ -43,6 +41,15 @@ enum class ModuleSubsection { All }; +bool checkModuleSubsection(ModuleSubsection Kind); + +template <typename... Ts> +bool checkModuleSubsection(ModuleSubsection K1, ModuleSubsection K2, + Ts &&... Rest) { + return checkModuleSubsection(K1) || + checkModuleSubsection(K2, std::forward<Ts>(Rest)...); +} + namespace pretty { enum class ClassDefinitionFormat { None, Layout, All }; @@ -98,24 +105,27 @@ struct BlockRange { llvm::Optional<uint32_t> Max; }; -extern llvm::cl::opt<bool> DumpSummary; -extern llvm::cl::opt<bool> DumpStreams; extern llvm::Optional<BlockRange> DumpBlockRange; extern llvm::cl::list<std::string> DumpStreamData; -extern llvm::cl::opt<bool> DumpStringTable; -extern llvm::cl::opt<bool> DumpTypes; -extern llvm::cl::opt<bool> DumpTypeData; -extern llvm::cl::opt<bool> DumpTypeHashes; -extern llvm::cl::opt<bool> DumpIds; -extern llvm::cl::opt<bool> DumpIdData; -extern llvm::cl::opt<bool> DumpSymbols; -extern llvm::cl::opt<bool> DumpSymRecordBytes; + +extern llvm::cl::opt<bool> CompactRecords; +extern llvm::cl::opt<bool> DumpGlobals; +extern llvm::cl::opt<bool> DumpHeaders; +extern llvm::cl::opt<bool> DumpStreamBlocks; +extern llvm::cl::opt<bool> DumpStreamSummary; +extern llvm::cl::opt<bool> DumpPageStats; +extern llvm::cl::opt<bool> DumpTpiHash; +extern llvm::cl::opt<bool> DumpTpiRecordBytes; +extern llvm::cl::opt<bool> DumpTpiRecords; +extern llvm::cl::opt<bool> DumpIpiRecords; +extern llvm::cl::opt<bool> DumpIpiRecordBytes; extern llvm::cl::opt<bool> DumpPublics; extern llvm::cl::opt<bool> DumpSectionContribs; extern llvm::cl::opt<bool> DumpSectionMap; -extern llvm::cl::opt<bool> DumpModules; -extern llvm::cl::opt<bool> DumpModuleFiles; -extern llvm::cl::opt<bool> RawAll; +extern llvm::cl::opt<bool> DumpSymRecordBytes; +extern llvm::cl::opt<bool> DumpSectionHeaders; +extern llvm::cl::opt<bool> DumpFpo; +extern llvm::cl::opt<bool> DumpStringTable; } namespace diff { @@ -134,11 +144,14 @@ extern llvm::cl::opt<bool> DbiStream; extern llvm::cl::opt<bool> TpiStream; extern llvm::cl::opt<bool> IpiStream; extern llvm::cl::list<std::string> InputFilename; +} + +namespace shared { extern llvm::cl::opt<bool> DumpModules; extern llvm::cl::opt<bool> DumpModuleFiles; extern llvm::cl::list<ModuleSubsection> DumpModuleSubsections; extern llvm::cl::opt<bool> DumpModuleSyms; -} // namespace pdb2yaml +} // namespace shared } #endif |