mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
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:
@ -380,29 +380,7 @@ private:
|
|||||||
|
|
||||||
/* A range adapter wrapping separate_debug_iterator. */
|
/* A range adapter wrapping separate_debug_iterator. */
|
||||||
|
|
||||||
class separate_debug_range
|
typedef iterator_range<separate_debug_iterator> 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;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Master structure for keeping track of each file from which
|
/* Master structure for keeping track of each file from which
|
||||||
gdb reads symbols. There are several ways these get allocated: 1.
|
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
|
/* A range adapter that makes it possible to iterate over all
|
||||||
minimal symbols of an objfile. */
|
minimal symbols of an objfile. */
|
||||||
|
|
||||||
class msymbols_range
|
typedef iterator_range<minimal_symbol_iterator> 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;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Return a range adapter for iterating over all minimal
|
/* Return a range adapter for iterating over all minimal
|
||||||
symbols. */
|
symbols. */
|
||||||
|
|
||||||
msymbols_range msymbols ()
|
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
|
/* Return a range adapter for iterating over all the separate debug
|
||||||
@ -495,7 +452,9 @@ public:
|
|||||||
|
|
||||||
separate_debug_range separate_debug_objfiles ()
|
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
|
CORE_ADDR text_section_offset () const
|
||||||
|
Reference in New Issue
Block a user