gdb/dwarf: use ranged for loop in some spots

I noticed that these loops could be written to avoid the iteration
variable `i`.

Change-Id: I8b58eb9913b6ac8505ee45eb8009ef7027236cb9
This commit is contained in:
Simon Marchi
2025-03-10 14:40:59 -04:00
parent 053438d7dd
commit 2920415622
2 changed files with 7 additions and 14 deletions

View File

@@ -1317,11 +1317,9 @@ write_gdbindex (dwarf2_per_bfd *per_bfd, cooked_index *table,
work here. */ work here. */
int counter = 0; int counter = 0;
for (int i = 0; i < per_bfd->all_units.size (); ++i) for (const dwarf2_per_cu_up &per_cu : per_bfd->all_units)
{ {
dwarf2_per_cu *per_cu = per_bfd->all_units[i].get (); const auto insertpair = cu_index_htab.emplace (per_cu.get (), counter);
const auto insertpair = cu_index_htab.emplace (per_cu, counter);
gdb_assert (insertpair.second); gdb_assert (insertpair.second);
/* See enhancement PR symtab/30838. */ /* See enhancement PR symtab/30838. */
@@ -1337,7 +1335,7 @@ write_gdbindex (dwarf2_per_bfd *per_bfd, cooked_index *table,
to_underlying (per_cu->sect_off)); to_underlying (per_cu->sect_off));
if (per_cu->is_debug_types) if (per_cu->is_debug_types)
{ {
signatured_type *sig_type = (signatured_type *) per_cu; signatured_type *sig_type = (signatured_type *) per_cu.get ();
cu_list.append_uint (8, BFD_ENDIAN_LITTLE, cu_list.append_uint (8, BFD_ENDIAN_LITTLE,
to_underlying (sig_type->type_offset_in_tu)); to_underlying (sig_type->type_offset_in_tu));
cu_list.append_uint (8, BFD_ENDIAN_LITTLE, cu_list.append_uint (8, BFD_ENDIAN_LITTLE,
@@ -1400,14 +1398,12 @@ write_debug_names (dwarf2_per_bfd *per_bfd, cooked_index *table,
debug_names nametable (per_bfd, dwarf5_is_dwarf64, dwarf5_byte_order); debug_names nametable (per_bfd, dwarf5_is_dwarf64, dwarf5_byte_order);
int counter = 0; int counter = 0;
int types_counter = 0; int types_counter = 0;
for (int i = 0; i < per_bfd->all_units.size (); ++i) for (const dwarf2_per_cu_up &per_cu : per_bfd->all_units)
{ {
dwarf2_per_cu *per_cu = per_bfd->all_units[i].get ();
int &this_counter = per_cu->is_debug_types ? types_counter : counter; int &this_counter = per_cu->is_debug_types ? types_counter : counter;
data_buf &this_list = per_cu->is_debug_types ? types_cu_list : cu_list; data_buf &this_list = per_cu->is_debug_types ? types_cu_list : cu_list;
nametable.add_cu (per_cu, this_counter); nametable.add_cu (per_cu.get (), this_counter);
this_list.append_uint (nametable.dwarf5_offset_size (), this_list.append_uint (nametable.dwarf5_offset_size (),
dwarf5_byte_order, dwarf5_byte_order,
to_underlying (per_cu->sect_off)); to_underlying (per_cu->sect_off));

View File

@@ -1966,18 +1966,15 @@ void
dwarf2_base_index_functions::expand_all_symtabs (struct objfile *objfile) dwarf2_base_index_functions::expand_all_symtabs (struct objfile *objfile)
{ {
dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile); dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile);
int total_units = per_objfile->per_bfd->all_units.size ();
for (int i = 0; i < total_units; ++i) for (const dwarf2_per_cu_up &per_cu : per_objfile->per_bfd->all_units)
{ {
dwarf2_per_cu *per_cu = per_objfile->per_bfd->get_cu (i);
/* We don't want to directly expand a partial CU, because if we /* We don't want to directly expand a partial CU, because if we
read it with the wrong language, then assertion failures can read it with the wrong language, then assertion failures can
be triggered later on. See PR symtab/23010. So, tell be triggered later on. See PR symtab/23010. So, tell
dw2_instantiate_symtab to skip partial CUs -- any important dw2_instantiate_symtab to skip partial CUs -- any important
partial CU will be read via DW_TAG_imported_unit anyway. */ partial CU will be read via DW_TAG_imported_unit anyway. */
dw2_instantiate_symtab (per_cu, per_objfile, true); dw2_instantiate_symtab (per_cu.get (), per_objfile, true);
} }
} }