summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/DebugInfo/DWARFFormValue.h5
-rw-r--r--lib/DebugInfo/DWARFFormValue.cpp5
2 files changed, 3 insertions, 7 deletions
diff --git a/include/llvm/DebugInfo/DWARFFormValue.h b/include/llvm/DebugInfo/DWARFFormValue.h
index c88e42a9c9..c8d600839a 100644
--- a/include/llvm/DebugInfo/DWARFFormValue.h
+++ b/include/llvm/DebugInfo/DWARFFormValue.h
@@ -18,9 +18,8 @@ class DWARFUnit;
class raw_ostream;
class DWARFFormValue {
-public:
struct ValueType {
- ValueType() : data(NULL), IsDWOIndex(false) {
+ ValueType() : data(NULL) {
uval = 0;
}
@@ -30,10 +29,8 @@ public:
const char* cstr;
};
const uint8_t* data;
- bool IsDWOIndex;
};
-private:
uint16_t Form; // Form for this value.
ValueType Value; // Contains all data for the form.
diff --git a/lib/DebugInfo/DWARFFormValue.cpp b/lib/DebugInfo/DWARFFormValue.cpp
index 3867249d29..0dddb7eb4a 100644
--- a/lib/DebugInfo/DWARFFormValue.cpp
+++ b/lib/DebugInfo/DWARFFormValue.cpp
@@ -184,7 +184,6 @@ bool DWARFFormValue::extractValue(DataExtractor data, uint32_t *offset_ptr,
case DW_FORM_GNU_addr_index:
case DW_FORM_GNU_str_index:
Value.uval = data.getULEB128(offset_ptr);
- Value.IsDWOIndex = true;
break;
default:
return false;
@@ -441,7 +440,7 @@ const char *DWARFFormValue::getAsCString(const DWARFUnit *CU) const {
if (!CU)
return NULL;
uint32_t Offset = Value.uval;
- if (Value.IsDWOIndex) {
+ if (Form == DW_FORM_GNU_str_index) {
uint32_t StrOffset;
if (!CU->getStringOffsetSectionItem(Offset, StrOffset))
return NULL;
@@ -453,7 +452,7 @@ const char *DWARFFormValue::getAsCString(const DWARFUnit *CU) const {
uint64_t DWARFFormValue::getAsAddress(const DWARFUnit *CU) const {
if (!CU)
return 0;
- if (Value.IsDWOIndex) {
+ if (Form == DW_FORM_GNU_addr_index) {
uint32_t Index = Value.uval;
uint64_t Address;
if (!CU->getAddrOffsetSectionItem(Index, Address))