summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFDebugLine.h
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-09-15 20:43:18 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-09-15 20:43:18 +0000
commit679e1752f81e21c40392ff90aaaabbe9596ef07f (patch)
tree269ddc28c10a7c0232f470849dbbea5642dccfc4 /llvm/lib/DebugInfo/DWARFDebugLine.h
parentd923eb0d1e358b07b4f5c0709d7171ba56d15881 (diff)
downloadbcm5719-llvm-679e1752f81e21c40392ff90aaaabbe9596ef07f.tar.gz
bcm5719-llvm-679e1752f81e21c40392ff90aaaabbe9596ef07f.zip
DWARF: Remove accessors that parse the whole line table section in one go, this can't possibly work.
The address size is specified by the compile unit associated with a line table, there is no global address size. llvm-svn: 139835
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFDebugLine.h')
-rw-r--r--llvm/lib/DebugInfo/DWARFDebugLine.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugLine.h b/llvm/lib/DebugInfo/DWARFDebugLine.h
index e50c4a9e74d..bc6a70b1112 100644
--- a/llvm/lib/DebugInfo/DWARFDebugLine.h
+++ b/llvm/lib/DebugInfo/DWARFDebugLine.h
@@ -147,7 +147,7 @@ public:
DoneParsingLineTable = -1
};
- State() : row(0) {}
+ State() : row(StartParsingLineTable) {}
virtual ~State();
virtual void appendRowToMatrix(uint32_t offset);
@@ -173,15 +173,9 @@ public:
static bool parseStatementTable(DataExtractor debug_line_data,
uint32_t *offset_ptr, State &state);
- /// Parse all information in the debug_line_data into an internal
- /// representation.
- void parse(DataExtractor debug_line_data);
- void parseIfNeeded(DataExtractor debug_line_data) {
- if (LineTableMap.empty())
- parse(debug_line_data);
- }
- static void dump(DataExtractor debug_line_data, raw_ostream &OS);
const LineTable *getLineTable(uint32_t offset) const;
+ const LineTable *getOrParseLineTable(DataExtractor debug_line_data,
+ uint32_t offset);
private:
typedef std::map<uint32_t, LineTable> LineTableMapTy;
OpenPOWER on IntegriCloud