From: Tom Tromey Date: Mon, 22 Nov 2021 23:50:46 +0000 (-0700) Subject: Simplify version check in dw2_symtab_iter_next X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1a56932c4b61f1fe81ce847cb40770203ffd16f;p=binutils-gdb.git Simplify version check in dw2_symtab_iter_next This simplifies the index versio check in dw2_symtab_iter_next, by passing a reference to the index object to this function. This avoids an indirection via the per_bfd object. --- diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 3053ec9b303..f340cd68e67 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -2949,7 +2949,8 @@ dw2_symtab_iter_init (struct dw2_symtab_iterator *iter, /* Return the next matching CU or NULL if there are no more. */ static struct dwarf2_per_cu_data * -dw2_symtab_iter_next (struct dw2_symtab_iterator *iter) +dw2_symtab_iter_next (struct dw2_symtab_iterator *iter, + mapped_index &index) { dwarf2_per_objfile *per_objfile = iter->per_objfile; @@ -2963,9 +2964,8 @@ dw2_symtab_iter_next (struct dw2_symtab_iterator *iter) Indices prior to version 7 don't record them, and indices >= 7 may elide them for certain symbols (gold does this). */ - int attrs_valid = - (per_objfile->per_bfd->index_table->version >= 7 - && symbol_kind != GDB_INDEX_SYMBOL_KIND_NONE); + int attrs_valid = (index.version >= 7 + && symbol_kind != GDB_INDEX_SYMBOL_KIND_NONE); /* Don't crash on bad data. */ if (cu_index >= per_objfile->per_bfd->all_comp_units.size ()) @@ -3141,7 +3141,7 @@ dwarf2_gdb_index::expand_matching_symbols struct dwarf2_per_cu_data *per_cu; dw2_symtab_iter_init (&iter, per_objfile, block_kind, domain, namei); - while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL) + while ((per_cu = dw2_symtab_iter_next (&iter, index)) != NULL) dw2_expand_symtabs_matching_one (per_cu, per_objfile, nullptr, nullptr); return true;