diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-15 20:43:18 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-15 20:43:18 +0000 |
commit | 679e1752f81e21c40392ff90aaaabbe9596ef07f (patch) | |
tree | 269ddc28c10a7c0232f470849dbbea5642dccfc4 /llvm/lib/DebugInfo/DWARFDebugLine.h | |
parent | d923eb0d1e358b07b4f5c0709d7171ba56d15881 (diff) | |
download | bcm5719-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.h | 12 |
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; |