From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id 06E633858C3A; Thu, 1 Dec 2022 18:18:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 06E633858C3A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669918727; bh=NpKL+3VyiSC9RlaFZv4fDPZechMJmlkIU6dsmvvpjlE=; h=From:To:Subject:Date:From; b=oWOTqQwBSUaHnCYnxXU7r7bAsbfq8U5JN3UdukbgnFeyz8loZ8vjbVcmHj85rCKt4 YPRbY4YmBoosMvcdI2zAbKzuLD7qj1ASkGXiPQGyfK11rDwHotD+iUN0hczeEXTuPG fKeMvqxUqRa/jKcNHjrNu9GoUnOrARgH3b2Z6Zrs= 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] Refactor cooked_index::do_finalize X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 5f0a4fb85ed3b5fb112ff884a98eb95c685658b0 X-Git-Newrev: bed34ce7058b56d3a1e171de31df2a0a30afb8fd Message-Id: <20221201181847.06E633858C3A@sourceware.org> Date: Thu, 1 Dec 2022 18:18:47 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dbed34ce7058b= 56d3a1e171de31df2a0a30afb8fd commit bed34ce7058b56d3a1e171de31df2a0a30afb8fd Author: Tom Tromey Date: Fri Nov 4 14:11:56 2022 -0600 Refactor cooked_index::do_finalize =20 This refactors cooked_index::do_finalize, reordering an 'if' to make it a little less redundant. This change makes a subsequent patch easier to read. =20 Reviewed-by: Andrew Burgess Diff: --- gdb/dwarf2/cooked-index.c | 49 ++++++++++++++++++++++---------------------= ---- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index adb0046609e..a580d549d0d 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -196,16 +196,28 @@ cooked_index::do_finalize () for (cooked_index_entry *entry : m_entries) { gdb_assert (entry->canonical =3D=3D nullptr); - if ((entry->per_cu->lang () !=3D language_cplus - && entry->per_cu->lang () !=3D language_ada) - || (entry->flags & IS_LINKAGE) !=3D 0) + if ((entry->flags & IS_LINKAGE) !=3D 0) entry->canonical =3D entry->name; - else + else if (entry->per_cu->lang () =3D=3D language_ada) { - if (entry->per_cu->lang () =3D=3D language_ada) + gdb::unique_xmalloc_ptr canon_name + =3D handle_gnat_encoded_entry (entry, gnat_entries.get ()); + if (canon_name =3D=3D nullptr) + entry->canonical =3D entry->name; + else + { + entry->canonical =3D canon_name.get (); + m_names.push_back (std::move (canon_name)); + } + } + else if (entry->per_cu->lang () =3D=3D language_cplus) + { + void **slot =3D htab_find_slot (seen_names.get (), entry, + INSERT); + if (*slot =3D=3D nullptr) { gdb::unique_xmalloc_ptr canon_name - =3D handle_gnat_encoded_entry (entry, gnat_entries.get ()); + =3D cp_canonicalize_string (entry->name); if (canon_name =3D=3D nullptr) entry->canonical =3D entry->name; else @@ -216,28 +228,13 @@ cooked_index::do_finalize () } else { - void **slot =3D htab_find_slot (seen_names.get (), entry, - INSERT); - if (*slot =3D=3D nullptr) - { - gdb::unique_xmalloc_ptr canon_name - =3D cp_canonicalize_string (entry->name); - if (canon_name =3D=3D nullptr) - entry->canonical =3D entry->name; - else - { - entry->canonical =3D canon_name.get (); - m_names.push_back (std::move (canon_name)); - } - } - else - { - const cooked_index_entry *other - =3D (const cooked_index_entry *) *slot; - entry->canonical =3D other->canonical; - } + const cooked_index_entry *other + =3D (const cooked_index_entry *) *slot; + entry->canonical =3D other->canonical; } } + else + entry->canonical =3D entry->name; } =20 m_names.shrink_to_fit ();