summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/DebugInfo/DIContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/DebugInfo/DIContext.h')
-rw-r--r--llvm/include/llvm/DebugInfo/DIContext.h52
1 files changed, 19 insertions, 33 deletions
diff --git a/llvm/include/llvm/DebugInfo/DIContext.h b/llvm/include/llvm/DebugInfo/DIContext.h
index 936813dc6ab..d6657b4d8d4 100644
--- a/llvm/include/llvm/DebugInfo/DIContext.h
+++ b/llvm/include/llvm/DebugInfo/DIContext.h
@@ -112,45 +112,31 @@ struct DILineInfoSpecifier {
: FLIKind(FLIKind), FNKind(FNKind) {}
};
+namespace {
+/// This is just a helper to programmatically construct DIDumpType.
+enum DIDumpTypeCounter {
+ DIDT_ID_Null = 0,
+#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME) \
+ DIDT_ID##ENUM_NAME,
+#include "llvm/BinaryFormat/Dwarf.def"
+#undef HANDLE_DWARF_SECTION
+};
+}
+
/// Selects which debug sections get dumped.
-enum DIDumpType {
+enum DIDumpType : uint64_t {
DIDT_Null,
- DIDT_All,
- DIDT_Abbrev,
- DIDT_AbbrevDwo,
- DIDT_Aranges,
- DIDT_Frames,
- DIDT_Info,
- DIDT_InfoDwo,
- DIDT_Types,
- DIDT_TypesDwo,
- DIDT_Line,
- DIDT_LineDwo,
- DIDT_Loc,
- DIDT_LocDwo,
- DIDT_Macro,
- DIDT_Ranges,
- DIDT_Pubnames,
- DIDT_Pubtypes,
- DIDT_GnuPubnames,
- DIDT_GnuPubtypes,
- DIDT_Str,
- DIDT_StrOffsets,
- DIDT_StrDwo,
- DIDT_StrOffsetsDwo,
- DIDT_AppleNames,
- DIDT_AppleTypes,
- DIDT_AppleNamespaces,
- DIDT_AppleObjC,
- DIDT_CUIndex,
- DIDT_GdbIndex,
- DIDT_TUIndex,
+ DIDT_All = ~0ULL,
+#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME) \
+ DIDT_##ENUM_NAME = 1 << DIDT_ID##ENUM_NAME,
+#include "llvm/BinaryFormat/Dwarf.def"
+#undef HANDLE_DWARF_SECTION
};
/// Container for dump options that control which debug information will be
/// dumped.
struct DIDumpOptions {
- DIDumpType DumpType = DIDT_All;
+ uint64_t DumpType = DIDT_All;
bool DumpEH = false;
bool SummarizeTypes = false;
bool Brief = false;
@@ -170,7 +156,7 @@ public:
virtual void dump(raw_ostream &OS, DIDumpOptions DumpOpts) = 0;
- virtual bool verify(raw_ostream &OS, DIDumpType DumpType = DIDT_All) {
+ virtual bool verify(raw_ostream &OS, uint64_t DumpType = DIDT_All) {
// No verifier? Just say things went well.
return true;
}
OpenPOWER on IntegriCloud