aboutsummaryrefslogtreecommitdiff
path: root/dwarf_wrappers.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dwarf_wrappers.cc')
-rw-r--r--dwarf_wrappers.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/dwarf_wrappers.cc b/dwarf_wrappers.cc
index d13d7b8..04e5897 100644
--- a/dwarf_wrappers.cc
+++ b/dwarf_wrappers.cc
@@ -274,6 +274,15 @@ std::optional<uint64_t> Entry::MaybeGetUnsignedConstant(uint32_t attribute) {
return value;
}
+uint64_t Entry::MustGetUnsignedConstant(uint32_t attribute) {
+ auto maybe_constant = MaybeGetUnsignedConstant(attribute);
+ if (!maybe_constant) {
+ Die() << "DWARF entry <" << Hex(GetOffset()) << "> with tag " << GetTag()
+ << " is missing attribute " << Hex(attribute);
+ }
+ return maybe_constant.value();
+}
+
bool Entry::GetFlag(uint32_t attribute) {
bool result = false;
auto dwarf_attribute = (attribute == DW_AT_declaration)