From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta34.uswest2.a.cloudfilter.net (omta34.uswest2.a.cloudfilter.net [35.89.44.33]) by sourceware.org (Postfix) with ESMTPS id 82E783858417 for ; Thu, 18 Jan 2024 20:32:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 82E783858417 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 82E783858417 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=1705609945; cv=none; b=aWWCOqE139YKHbBD8P0144laC8qpBlICOwDDh2ctvXjPioL9xxre38YOgFAma9QG5vhI/dvytULEDrrCrZy4TW4Q+YgApQrAJXwhAHbF4tCsoKSdVww0bJk7FWUV4DWXBWUUv9zSmm+thL7Jl1jheM58DEOH4n7xnM06fYZBipQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705609945; c=relaxed/simple; bh=j/h92J9c7lNEf72sJTDEy1avS47PTYYr8ZbrZlvFXU4=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=GM2NqwTIZoQFJ3tkqWAmkhiYMCrIxfvMh/HLENjOkSCYt1M46wqxYKPA4DGc+LB52UIwsQrGvGntH+Fct/k2ev7Cu5vPEGPsVyyMiNxoYym4x0tb64EgIE9CxON9HThRe19kPSXIUn8u7D8vYH69eLd12LPr9HqIP1FoKVZj8KQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-6001a.ext.cloudfilter.net ([10.0.30.140]) by cmsmtp with ESMTPS id QWnIrNP6ZMVQiQZ3drEcTW; Thu, 18 Jan 2024 20:32:13 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id QZ3crX5VIWRcnQZ3drSBiW; Thu, 18 Jan 2024 20:32:13 +0000 X-Authority-Analysis: v=2.4 cv=OPo0YAWB c=1 sm=1 tr=0 ts=65a98acd a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10 a=dEuoMetlWLkA:10 a=Qbun_eYptAEA:10 a=zUfXEgyxzIi75vXqr1wA: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=oSFDRUDkOpa6OPBbyBijvvXpny1ZR7YXBAsRKkDJVVk=; b=BQJi8uzkfjIhC6sTEcbASYHep5 gsnEl4+ufry6wHYuE+kIWFfqZ2VE3tnaySIU9J41oGcrOaw9IBhHd2STJpfRgB88tHLmqiL0kjc4b YKmT1ft4+Q/87L+f4UW+4EcS3; Received: from 97-122-68-157.hlrn.qwest.net ([97.122.68.157]:50746 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 1rQZ3c-002DCj-2N for gdb-patches@sourceware.org; Thu, 18 Jan 2024 13:32:12 -0700 From: Tom Tromey Date: Thu, 18 Jan 2024 13:32:19 -0700 Subject: [PATCH v2 21/30] Simplify some symbol searches in Ada code MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20240118-submit-domain-hacks-2-v2-21-aecab29fa104@tromey.com> References: <20240118-submit-domain-hacks-2-v2-0-aecab29fa104@tromey.com> In-Reply-To: <20240118-submit-domain-hacks-2-v2-0-aecab29fa104@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.68.157 X-Source-L: No X-Exim-ID: 1rQZ3c-002DCj-2N X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-68-157.hlrn.qwest.net ([192.168.0.21]) [97.122.68.157]:50746 X-Source-Auth: tom+tromey.com X-Email-Count: 23 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfJuruXcD7ZKmfUM/lT2GBVhiph4CK5dT6o/ZYRgqZXJErfBzSv22ZCY0L2zFlLKLRRyh7cJ5ZgLc+CCf5TcSOUlESjZU33ac/bmqA8nK+UMkH9HymtfU yvTdVvfVkntjNUY8kg4JgGJM6YHtJDIpt/EECaHB4efrJhY/epS4Chemq0daiMkN6KdsR6tJS6ukc3eQvpXTRD8ncLQpDkfa9iY= X-Spam-Status: No, score=-3022.8 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 List-Id: 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 1f439b38aea..ab936ae4733 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 a15ea7b725e..f1d01ec7aa3 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -7436,14 +7436,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 21f81bbcdea..1a0bc1d528e 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 ()); -- 2.43.0