summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-10-21 16:37:22 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-10-21 16:37:22 +0000
commit63bb3e1182f79f52d15cbf658545515f6bcece7b (patch)
tree2dd3ae105c74913e87a6ae4714e0b53cbc47c3b8 /llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
parentef57b656f11b9a08c4f9b8d70f595a5465ddeff3 (diff)
downloadbcm5719-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.cpp4
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");
}
}
OpenPOWER on IntegriCloud