From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from outbound-ss-820.bluehost.com (outbound-ss-820.bluehost.com [69.89.24.241]) by sourceware.org (Postfix) with ESMTPS id 94EF33858C56 for ; Sun, 10 Apr 2022 17:38:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 94EF33858C56 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw11.mail.unifiedlayer.com (unknown [10.0.90.126]) by progateway2.mail.pro1.eigbox.com (Postfix) with ESMTP id CD10810048189 for ; Sun, 10 Apr 2022 17:38:56 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id dbWanoE9Fwm8idbWanpjXz; Sun, 10 Apr 2022 17:38:56 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=DpSTREz+ c=1 sm=1 tr=0 ts=62531630 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=z0gMJWrwH1QA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=zstS-IiYAAAA:8 a=viG-hyvHBvBkj-EjBIcA:9 a=4G6NA9xxw8l3yy4pmD5M:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: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=vWkXla9S/15eM/J8vMWT13rKYWe/4abuhgmXkMHQefA=; b=dl8QUMB0iLJC51XfYeqiMMGxTa 9/8BR0zd+eCLQ970+dyE3uKT8/BTsv15d4RYy5H+PvKl5wGR39sLI/5X93qSV+7wmbwUyqUBQrEVY 4ow8IhnYxaii/z1S0OEtuRzXf; Received: from 71-211-154-204.hlrn.qwest.net ([71.211.154.204]:34448 helo=prentzel) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ndbWZ-002EcV-S0; Sun, 10 Apr 2022 11:38:55 -0600 From: Tom Tromey To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [PATCH v4 18/34] Introduce the new DWARF index class References: <20220404195335.2111906-1-tom@tromey.com> <20220404195335.2111906-19-tom@tromey.com> X-Attribution: Tom Date: Sun, 10 Apr 2022 11:38:54 -0600 In-Reply-To: <20220404195335.2111906-19-tom@tromey.com> (Tom Tromey's message of "Mon, 4 Apr 2022 13:53:19 -0600") Message-ID: <87tub0ltxt.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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: 71.211.154.204 X-Source-L: No X-Exim-ID: 1ndbWZ-002EcV-S0 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-154-204.hlrn.qwest.net (prentzel) [71.211.154.204]:34448 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3023.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2022 17:38:59 -0000 >>>>> "Tom" == Tom Tromey writes: Tom> This patch introduces the new DWARF index class. It is called Tom> "cooked" to contrast against a "raw" index, which is mapped from disk Tom> without extra effort. I was experimenting with this code and I found a bug. Tom> + const cooked_index_entry *parent = parent_entry; Tom> + if (tag == DW_TAG_enumeration_type && (flags & IS_ENUM_CLASS) == 0) Tom> + parent = parent->parent_entry; I think this is incorrect. First, it should probably refer to DW_TAG_enumerator -- but even that would be wrong because this case is already handled in the scanner: /* We need to recurse even for an anonymous enumeration. Which scope we record as the parent scope depends on whether we're reading an "enum class". If so, we use the enum itself as the parent, yielding names like "enum_class::enumerator"; otherwise we inject the names into our own parent scope. */ info_ptr = recurse (reader, info_ptr, ((flags & IS_ENUM_CLASS) == 0) ? parent_entry : this_entry, fully); So I think the solution is to remove this code from the index. I'll see if I can come up with a test case. I don't expect a big delay in landing this series, though. Tom