From patchwork Tue Nov 21 03:53:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 80409 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BFD023858C54 for ; Tue, 21 Nov 2023 03:55:25 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from omta34.uswest2.a.cloudfilter.net (omta34.uswest2.a.cloudfilter.net [35.89.44.33]) by sourceware.org (Postfix) with ESMTPS id 495353858C33 for ; Tue, 21 Nov 2023 03:53:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 495353858C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 495353858C33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=35.89.44.33 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700538810; cv=none; b=ewimbHIUZ+vqWI636QSUsGb6o3J1m1Uj1YQutT4PHzRZp7GJSOnIrxnLD/5GL3T65ESoCUA/qy2/sP8Elu4IjOS+olaL5h8MR+hViqkZPGbYFIF6kXQXg3phyprrYln0p+wizunFvXwZZ5nCxmmrNxFz54lHR+zwa+zPRfB7cjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700538810; c=relaxed/simple; bh=sOth2ESS5p0M4+h/CNcoGCTFWHVHvIYnIYYGJkUNn8E=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=fZu1uVku3MOmZ/fmtROMRSJAknnsoMzDlMFMgEnnnHNRY/tvjPWHjlQrhsoco8N0Qp3PdFYCsuu8amIK85zMCEx71OOjcZLaGiSrwYYivxt3XTF5H2wR866YxdpbQCPhyZnBv096eC43Z9m5lEB/mlsg93PTEnPSTXMLXoZUKGg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-5009a.ext.cloudfilter.net ([10.0.29.176]) by cmsmtp with ESMTPS id 5C2mrSRBS8Hte5HpCrHZWt; Tue, 21 Nov 2023 03:53:22 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id 5HpBrzUKB97pz5HpBrri9U; Tue, 21 Nov 2023 03:53:22 +0000 X-Authority-Analysis: v=2.4 cv=ULDOoQTy c=1 sm=1 tr=0 ts=655c29b2 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10 a=BNY50KLci1gA:10 a=Qbun_eYptAEA:10 a=3LfQSaOyrCHHMfNpbn0A:9 a=QEXdDO2ut3YA:10 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=lSOrmpJFG3gXmUmBW5ORyLHcKR8naFj/vecfqQg1mds=; b=mAJ2n9cYP+OZ0XoNoqnA5dg1Dl 1Ugt+urHtP1Zqk4CA95XeU7SDZFCLHRYHA/c4V2k0anck4dfOcXDOfG0Lnw1NVn4BOiWg6OGqoJYt +XY8O2yU0/SZwkpcOS4EYU+mJ; Received: from 97-122-77-73.hlrn.qwest.net ([97.122.77.73]:47856 helo=[192.168.0.21]) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1r5HpB-0040be-1E for gdb-patches@sourceware.org; Mon, 20 Nov 2023 20:53:21 -0700 From: Tom Tromey Date: Mon, 20 Nov 2023 20:53:51 -0700 Subject: [PATCH 20/29] Simplify some symbol searches in Ada code MIME-Version: 1.0 Message-Id: <20231120-submit-domain-hacks-2-v1-20-29650d01b198@tromey.com> References: <20231120-submit-domain-hacks-2-v1-0-29650d01b198@tromey.com> In-Reply-To: <20231120-submit-domain-hacks-2-v1-0-29650d01b198@tromey.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.4 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.77.73 X-Source-L: No X-Exim-ID: 1r5HpB-0040be-1E X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-77-73.hlrn.qwest.net ([192.168.0.21]) [97.122.77.73]:47856 X-Source-Auth: tom+tromey.com X-Email-Count: 21 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfBJ/+JJ/4zsQdUdWtGE38fNEOsDWwweBZnPS7FH10qmAks5tZjx/Ds5MFNdHVCYtjhzUogJToIiS5Vpof+ii8FJ2nbzLo0CSUu438ymEt1RBxdxUpNBI mg3HyJGds26HOsy4UahkYlAnnbZqln/EFmYSO91biI6hn9fUlwEwcMreL1jWtR0puM7ZKcFycQMVHphrOQTPnrUVems8AbCq6XY= X-Spam-Status: No, score=-3024.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org This changes some of the Ada code to simplify symbol searches. For example, if a function is being looked for, the search is narrowed to use SEARCH_FUNCTION_DOMAIN rather than SEARCH_VFT. In one spot, a search of the "struct" domain is removed, because Ada does not have a tag domain. --- gdb/ada-exp.y | 4 ++-- gdb/ada-lang.c | 10 ++-------- gdb/dwarf2/ada-imported.c | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index df7a85f101d..613e284c166 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -1404,7 +1404,7 @@ block_lookup (const struct block *context, const char *raw_name) } std::vector syms - = ada_lookup_symbol_list (name, context, SEARCH_VFT); + = ada_lookup_symbol_list (name, context, SEARCH_FUNCTION_DOMAIN); if (context == NULL && (syms.empty () || syms[0].symbol->aclass () != LOC_BLOCK)) @@ -1483,7 +1483,7 @@ find_primitive_type (struct parser_state *par_state, const char *name) (char *) alloca (strlen (name) + sizeof ("standard__")); strcpy (expanded_name, "standard__"); strcat (expanded_name, name); - sym = ada_lookup_symbol (expanded_name, NULL, SEARCH_VFT).symbol; + sym = ada_lookup_symbol (expanded_name, NULL, SEARCH_TYPE_DOMAIN).symbol; if (sym != NULL && sym->aclass () == LOC_TYPEDEF) type = sym->type (); } diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index ad5fac05468..6efc4819088 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -7496,14 +7496,8 @@ field_alignment (struct type *type, int f) static struct symbol * ada_find_any_type_symbol (const char *name) { - struct symbol *sym; - - sym = standard_lookup (name, get_selected_block (NULL), SEARCH_VFT); - if (sym != NULL && sym->aclass () == LOC_TYPEDEF) - return sym; - - sym = standard_lookup (name, NULL, SEARCH_STRUCT_DOMAIN); - return sym; + return standard_lookup (name, get_selected_block (nullptr), + SEARCH_TYPE_DOMAIN); } /* Find a type named NAME. Ignores ambiguity. This routine will look diff --git a/gdb/dwarf2/ada-imported.c b/gdb/dwarf2/ada-imported.c index bfcfb779105..13d61a354c1 100644 --- a/gdb/dwarf2/ada-imported.c +++ b/gdb/dwarf2/ada-imported.c @@ -103,7 +103,7 @@ ada_alias_get_block_value (const struct symbol *sym) { const char *name = get_imported_name (sym); block_symbol real_symbol = lookup_global_symbol (name, nullptr, - SEARCH_VFT); + SEARCH_FUNCTION_DOMAIN); if (real_symbol.symbol == nullptr) error (_("could not find alias '%s' for function '%s'"), name, sym->print_name ());