diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-10-21 16:37:22 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-10-21 16:37:22 +0000 |
commit | da39dd30ad3c969be3ac843307d4630807699538 (patch) | |
tree | bb73fef84a92cce2ed13223f69323322a65cb0a1 /lib | |
parent | 0cfca3d7ac253baa6b32694711700d61c797b9ee (diff) | |
download | llvm-da39dd30ad3c969be3ac843307d4630807699538.tar.gz llvm-da39dd30ad3c969be3ac843307d4630807699538.tar.bz2 llvm-da39dd30ad3c969be3ac843307d4630807699538.tar.xz |
DebugInfo: Hash DW_FORM_GNU_str_index as a string.
Found while adding type safety to the various DWARF enumerations (form,
attribute, tag, etc) that caused Clang to warn on an incompletely
covered switch. Converting the comment to a default/unreachable
uncovered this case of an unsupported form encoding. Seems we were
skipping fission strings entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193089 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DIEHash.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/AsmPrinter/DIEHash.cpp b/lib/CodeGen/AsmPrinter/DIEHash.cpp index 88c515c8cf..13238f37b3 100644 --- a/lib/CodeGen/AsmPrinter/DIEHash.cpp +++ b/lib/CodeGen/AsmPrinter/DIEHash.cpp @@ -230,6 +230,7 @@ void DIEHash::hashAttribute(AttrEntry Attr) { case dwarf::DW_FORM_string: llvm_unreachable( "Add support for DW_FORM_string if we ever start emitting them again"); + case dwarf::DW_FORM_GNU_str_index: case dwarf::DW_FORM_strp: addULEB128(dwarf::DW_FORM_string); addString(cast<DIEString>(Value)->getString()); @@ -242,7 +243,8 @@ void DIEHash::hashAttribute(AttrEntry Attr) { addULEB128(dwarf::DW_FORM_sdata); addSLEB128((int64_t)cast<DIEInteger>(Value)->getValue()); break; - // TODO: Add support for additional forms. + default: + llvm_unreachable("Add support for additional forms"); } } |