diff options
-rw-r--r-- | include/llvm/Support/Dwarf.h | 17 | ||||
-rw-r--r-- | lib/Support/Dwarf.cpp | 23 |
2 files changed, 40 insertions, 0 deletions
diff --git a/include/llvm/Support/Dwarf.h b/include/llvm/Support/Dwarf.h index 0e00761..a31c3f1 100644 --- a/include/llvm/Support/Dwarf.h +++ b/include/llvm/Support/Dwarf.h @@ -789,6 +789,23 @@ enum AcceleratorTable { /// AtomTypeString - Return the string for the specified Atom type. const char *AtomTypeString(unsigned Atom); +// Constants for the GNU pubnames/pubtypes extensions supporting gdb index. +enum GDBIndex { + // Special value to indicate no attributes are present. + GDB_INDEX_SYMBOL_KIND_NONE = 0, + GDB_INDEX_SYMBOL_KIND_TYPE = 1, + GDB_INDEX_SYMBOL_KIND_VARIABLE = 2, + GDB_INDEX_SYMBOL_KIND_FUNCTION = 3, + GDB_INDEX_SYMBOL_KIND_OTHER = 4, + // 3 unused bits. + GDB_INDEX_SYMBOL_KIND_UNUSED5 = 5, + GDB_INDEX_SYMBOL_KIND_UNUSED6 = 6, + GDB_INDEX_SYMBOL_KIND_UNUSED7 = 7 +}; + +/// GDBIndexTypeString - Return the string for the specified index type. +const char *GDBIndexTypeString(unsigned Kind); + } // End of namespace dwarf } // End of namespace llvm diff --git a/lib/Support/Dwarf.cpp b/lib/Support/Dwarf.cpp index 3bacdd3..5c780dd 100644 --- a/lib/Support/Dwarf.cpp +++ b/lib/Support/Dwarf.cpp @@ -739,3 +739,26 @@ const char *llvm::dwarf::AtomTypeString(unsigned AT) { } return 0; } + +const char *llvm::dwarf::GDBIndexTypeString(unsigned Kind) { + switch (Kind) { + case GDB_INDEX_SYMBOL_KIND_NONE: + return "case GDB_INDEX_SYMBOL_KIND_NONE"; + case GDB_INDEX_SYMBOL_KIND_TYPE: + return "case GDB_INDEX_SYMBOL_KIND_TYPE"; + case GDB_INDEX_SYMBOL_KIND_VARIABLE: + return "case GDB_INDEX_SYMBOL_KIND_VARIABLE"; + case GDB_INDEX_SYMBOL_KIND_FUNCTION: + return "case GDB_INDEX_SYMBOL_KIND_FUNCTION"; + case GDB_INDEX_SYMBOL_KIND_OTHER: + return "case GDB_INDEX_SYMBOL_KIND_OTHER"; + // 3 unused bits. + case GDB_INDEX_SYMBOL_KIND_UNUSED5: + return "case GDB_INDEX_SYMBOL_KIND_UNUSED5"; + case GDB_INDEX_SYMBOL_KIND_UNUSED6: + return "case GDB_INDEX_SYMBOL_KIND_UNUSED6"; + case GDB_INDEX_SYMBOL_KIND_UNUSED7: + return "case GDB_INDEX_SYMBOL_KIND_UNUSED7"; + } + return 0; +} |