summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFDebugAranges.h
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2012-11-16 08:36:25 +0000
committerAlexey Samsonov <samsonov@google.com>2012-11-16 08:36:25 +0000
commita1694c1aaff37ac5c12fe0be9ff37336a0925e54 (patch)
treec647f103bf071cc172e860571989838c80ae2a5a /llvm/lib/DebugInfo/DWARFDebugAranges.h
parentae89426f07516ac5167ab7b772645b77c3b0a3cd (diff)
downloadbcm5719-llvm-a1694c1aaff37ac5c12fe0be9ff37336a0925e54.tar.gz
bcm5719-llvm-a1694c1aaff37ac5c12fe0be9ff37336a0925e54.zip
[DebugInfo] Generate address ranges for compile units even if .debug_aranges is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits.
llvm-svn: 168144
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFDebugAranges.h')
-rw-r--r--llvm/lib/DebugInfo/DWARFDebugAranges.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugAranges.h b/llvm/lib/DebugInfo/DWARFDebugAranges.h
index 12afb60beb4..1509ffad41f 100644
--- a/llvm/lib/DebugInfo/DWARFDebugAranges.h
+++ b/llvm/lib/DebugInfo/DWARFDebugAranges.h
@@ -11,6 +11,7 @@
#define LLVM_DEBUGINFO_DWARFDEBUGARANGES_H
#include "DWARFDebugArangeSet.h"
+#include "llvm/ADT/DenseSet.h"
#include <list>
namespace llvm {
@@ -60,7 +61,10 @@ public:
uint32_t Offset; // Offset of the compile unit or die
};
- void clear() { Aranges.clear(); }
+ void clear() {
+ Aranges.clear();
+ ParsedCUOffsets.clear();
+ }
bool allRangesAreContiguous(uint64_t& LoPC, uint64_t& HiPC) const;
bool getMaxRange(uint64_t& LoPC, uint64_t& HiPC) const;
bool extract(DataExtractor debug_aranges_data);
@@ -88,9 +92,11 @@ public:
typedef std::vector<Range> RangeColl;
typedef RangeColl::const_iterator RangeCollIterator;
+ typedef DenseSet<uint32_t> ParsedCUOffsetColl;
private:
RangeColl Aranges;
+ ParsedCUOffsetColl ParsedCUOffsets;
};
}
OpenPOWER on IntegriCloud