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 | 63bb3e1182f79f52d15cbf658545515f6bcece7b (patch) | |
tree | 2dd3ae105c74913e87a6ae4714e0b53cbc47c3b8 /llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | |
parent | ef57b656f11b9a08c4f9b8d70f595a5465ddeff3 (diff) | |
download | bcm5719-llvm-63bb3e1182f79f52d15cbf658545515f6bcece7b.tar.gz bcm5719-llvm-63bb3e1182f79f52d15cbf658545515f6bcece7b.zip |
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.
llvm-svn: 193089
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp b/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp index 88c515c8cfa..13238f37b34 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp +++ b/llvm/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"); } } |