|
13 | 13 |
|
14 | 14 | namespace dwarf
|
15 | 15 | {
|
16 |
| - namespace core { struct LocdescList; struct RangesList; } |
| 16 | + namespace core { struct LocdescList; struct Locdesc; struct RangesList; } |
17 | 17 | namespace encap
|
18 | 18 | {
|
19 | 19 | using namespace dwarf::lib;
|
@@ -105,7 +105,7 @@ namespace dwarf
|
105 | 105 |
|
106 | 106 | /* This template parses a location expression out of an array of unsigneds. */
|
107 | 107 | template<size_t s>
|
108 |
| - loc_expr(Dwarf_Unsigned (&arr)[s], Dwarf_Addr lopc, Dwarf_Addr hipc, |
| 108 | + loc_expr(Dwarf_Unsigned const (&arr)[s], Dwarf_Addr lopc, Dwarf_Addr hipc, |
109 | 109 | const spec::abstract_def& spec = spec::dwarf3)
|
110 | 110 | : spec(spec), hipc(hipc), lopc(lopc)
|
111 | 111 | {
|
@@ -189,15 +189,15 @@ namespace dwarf
|
189 | 189 | friend class ::dwarf::lib::evaluator;
|
190 | 190 | friend class attribute_value;
|
191 | 191 | static loclist NO_LOCATION;
|
192 |
| - private: |
193 |
| - loclist() {} |
194 |
| - public: |
| 192 | + |
| 193 | + loclist() {} // empty loclist |
195 | 194 | loclist(const dwarf::lib::loclist& dll);
|
196 | 195 | /* We can construct a loc_expr from a Loc_Desc.
|
197 | 196 | * So we can construct a loclist from a LocdescList. */
|
198 | 197 | loclist(const core::LocdescList& ll);
|
199 | 198 | // would ideally repeat all vector constructors
|
200 | 199 | template <class In> loclist(In first, In last) : std::vector<loc_expr>(first, last) {}
|
| 200 | + loclist(const core::Locdesc& l); |
201 | 201 | loclist(const std::vector<loc_expr>& v) : std::vector<loc_expr>(v) {}
|
202 | 202 | loclist(const loc_expr& loc) : std::vector<loc_expr>(1, loc) {}
|
203 | 203 | //bool operator==(const loclist& oll) const { return *this == oll; }
|
|
0 commit comments