aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-10-21 09:17:53 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2022-10-21 14:27:11 -0400
commit129d1afcc50c0aa3cf69fb3c5d4d8c825bec1061 (patch)
treebf10d7c31996adf0d390a0674222a885e6cf1926 /gdb/dwarf2
parentf2423983a8f4b5eba77b1d8510be022d600714b6 (diff)
downloadgdb-129d1afcc50c0aa3cf69fb3c5d4d8c825bec1061.zip
gdb-129d1afcc50c0aa3cf69fb3c5d4d8c825bec1061.tar.gz
gdb-129d1afcc50c0aa3cf69fb3c5d4d8c825bec1061.tar.bz2
gdb: make inherit_abstract_dies use vector iterators
Small cleanup to use std::vector iterators rather than raw pointers. Approved-By: Tom Tromey <tom@tromey.com> Change-Id: I8d50dbb3f2d8dad7ff94066a578d523f1f31b590
Diffstat (limited to 'gdb/dwarf2')
-rw-r--r--gdb/dwarf2/read.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 077af06..071d0c4 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -11952,29 +11952,28 @@ inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
if (!offsets.empty ())
{
std::sort (offsets.begin (), offsets.end ());
- sect_offset *offsets_end = offsets.data () + offsets.size ();
- for (sect_offset *offsetp = offsets.data () + 1;
- offsetp < offsets_end;
- offsetp++)
- if (offsetp[-1] == *offsetp)
+
+ for (auto offsets_it = offsets.begin () + 1;
+ offsets_it < offsets.end ();
+ ++offsets_it)
+ if (*(offsets_it - 1) == *offsets_it)
complaint (_("Multiple children of DIE %s refer "
"to DIE %s as their abstract origin"),
sect_offset_str (die->sect_off),
- sect_offset_str (*offsetp));
+ sect_offset_str (*offsets_it));
}
- sect_offset *offsetp = offsets.data ();
- sect_offset *offsets_end = offsets.data () + offsets.size ();
+ auto offsets_it = offsets.begin ();
die_info *origin_child_die = origin_die->child;
while (origin_child_die != nullptr && origin_child_die->tag != 0)
{
/* Is ORIGIN_CHILD_DIE referenced by any of the DIE children? */
- while (offsetp < offsets_end
- && *offsetp < origin_child_die->sect_off)
- offsetp++;
+ while (offsets_it < offsets.end ()
+ && *offsets_it < origin_child_die->sect_off)
+ ++offsets_it;
- if (offsetp >= offsets_end
- || *offsetp > origin_child_die->sect_off)
+ if (offsets_it == offsets.end ()
+ || *offsets_it > origin_child_die->sect_off)
{
/* Found that ORIGIN_CHILD_DIE is really not referenced.
Check whether we're already processing ORIGIN_CHILD_DIE.