summaryrefslogtreecommitdiff
path: root/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h')
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
index 65571598d7432..d277ec382ba56 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
@@ -56,8 +56,9 @@ class DWARFDebugAbbrev {
using DWARFAbbreviationDeclarationSetMap =
std::map<uint64_t, DWARFAbbreviationDeclarationSet>;
- DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
+ mutable DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos;
+ mutable Optional<DataExtractor> Data;
public:
DWARFDebugAbbrev();
@@ -66,9 +67,11 @@ public:
getAbbreviationDeclarationSet(uint64_t CUAbbrOffset) const;
void dump(raw_ostream &OS) const;
+ void parse() const;
void extract(DataExtractor Data);
DWARFAbbreviationDeclarationSetMap::const_iterator begin() const {
+ parse();
return AbbrDeclSets.begin();
}