From 177ac6e47ef4445510e68bde175275e75efb1055 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 29 Jul 2021 15:27:33 -0600 Subject: [PATCH] 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. --- gdb/objfiles.h | 59 ++++++++------------------------------------------ 1 file changed, 9 insertions(+), 50 deletions(-) diff --git a/gdb/objfiles.h b/gdb/objfiles.h index 55be1bfdda4..97abc9c17ef 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -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_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 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 -- 2.30.2