Use iterator_range in more places
This changes a couple of spots to replace custom iterator range classes with a specialization of iterator_range. Regression tested on x86-64 Fedora 34.
This commit is contained in:
parent
785e5700ce
commit
177ac6e47e
1 changed files with 9 additions and 50 deletions
|
@ -380,29 +380,7 @@ private:
|
|||
|
||||
/* A range adapter wrapping separate_debug_iterator. */
|
||||
|
||||
class separate_debug_range
|
||||
{
|
||||
public:
|
||||
|
||||
explicit separate_debug_range (struct objfile *objfile)
|
||||
: m_objfile (objfile)
|
||||
{
|
||||
}
|
||||
|
||||
separate_debug_iterator begin ()
|
||||
{
|
||||
return separate_debug_iterator (m_objfile);
|
||||
}
|
||||
|
||||
separate_debug_iterator end ()
|
||||
{
|
||||
return separate_debug_iterator (nullptr);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
struct objfile *m_objfile;
|
||||
};
|
||||
typedef iterator_range<separate_debug_iterator> separate_debug_range;
|
||||
|
||||
/* Master structure for keeping track of each file from which
|
||||
gdb reads symbols. There are several ways these get allocated: 1.
|
||||
|
@ -456,38 +434,17 @@ public:
|
|||
/* A range adapter that makes it possible to iterate over all
|
||||
minimal symbols of an objfile. */
|
||||
|
||||
class msymbols_range
|
||||
{
|
||||
public:
|
||||
|
||||
explicit msymbols_range (struct objfile *objfile)
|
||||
: m_objfile (objfile)
|
||||
{
|
||||
}
|
||||
|
||||
minimal_symbol_iterator begin () const
|
||||
{
|
||||
return minimal_symbol_iterator (m_objfile->per_bfd->msymbols.get ());
|
||||
}
|
||||
|
||||
minimal_symbol_iterator end () const
|
||||
{
|
||||
return minimal_symbol_iterator
|
||||
(m_objfile->per_bfd->msymbols.get ()
|
||||
+ m_objfile->per_bfd->minimal_symbol_count);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
struct objfile *m_objfile;
|
||||
};
|
||||
typedef iterator_range<minimal_symbol_iterator> msymbols_range;
|
||||
|
||||
/* Return a range adapter for iterating over all minimal
|
||||
symbols. */
|
||||
|
||||
msymbols_range msymbols ()
|
||||
{
|
||||
return msymbols_range (this);
|
||||
auto start = minimal_symbol_iterator (per_bfd->msymbols.get ());
|
||||
auto end = minimal_symbol_iterator (per_bfd->msymbols.get ()
|
||||
+ per_bfd->minimal_symbol_count);
|
||||
return msymbols_range (start, end);
|
||||
}
|
||||
|
||||
/* Return a range adapter for iterating over all the separate debug
|
||||
|
@ -495,7 +452,9 @@ public:
|
|||
|
||||
separate_debug_range separate_debug_objfiles ()
|
||||
{
|
||||
return separate_debug_range (this);
|
||||
auto start = separate_debug_iterator (this);
|
||||
auto end = separate_debug_iterator (nullptr);
|
||||
return separate_debug_range (start, end);
|
||||
}
|
||||
|
||||
CORE_ADDR text_section_offset () const
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue