From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id 6EDE9385737F; Wed, 20 Apr 2022 15:12:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6EDE9385737F Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Simplify version check in dw2_symtab_iter_next X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 6606799fc4aaf812d0986166f57c9849b5d562ed X-Git-Newrev: c1a56932c4b61f1fe81ce847cb40770203ffd16f Message-Id: <20220420151222.6EDE9385737F@sourceware.org> Date: Wed, 20 Apr 2022 15:12:22 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Apr 2022 15:12:22 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dc1a56932c4b6= 1f1fe81ce847cb40770203ffd16f commit c1a56932c4b61f1fe81ce847cb40770203ffd16f Author: Tom Tromey Date: Mon Nov 22 16:50:46 2021 -0700 Simplify version check in dw2_symtab_iter_next =20 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: --- gdb/dwarf2/read.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 *ite= r, /* Return the next matching CU or NULL if there are no more. */ =20 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 =3D iter->per_objfile; =20 @@ -2963,9 +2964,8 @@ dw2_symtab_iter_next (struct dw2_symtab_iterator *ite= r) Indices prior to version 7 don't record them, and indices >=3D 7 may elide them for certain symbols (gold does this). */ - int attrs_valid =3D - (per_objfile->per_bfd->index_table->version >=3D 7 - && symbol_kind !=3D GDB_INDEX_SYMBOL_KIND_NONE); + int attrs_valid =3D (index.version >=3D 7 + && symbol_kind !=3D GDB_INDEX_SYMBOL_KIND_NONE); =20 /* Don't crash on bad data. */ if (cu_index >=3D 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; =20 dw2_symtab_iter_init (&iter, per_objfile, block_kind, domain, namei); - while ((per_cu =3D dw2_symtab_iter_next (&iter)) !=3D NULL) + while ((per_cu =3D dw2_symtab_iter_next (&iter, index)) !=3D NULL) dw2_expand_symtabs_matching_one (per_cu, per_objfile, nullptr, nullptr); return true;