From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 5hDwNzVmvWrc6B8AWB0awg (envelope-from ) for ; Wed, 30 Sep 2026 15:42:45 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=H5YHzWk3; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D12FB1E051; Wed, 30 Sep 2026 15:42:45 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 654761E01F for ; Wed, 30 Sep 2026 15:42:44 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 19B394BB58B2 for ; Wed, 30 Sep 2026 19:42:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 19B394BB58B2 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=H5YHzWk3 Received: from YT5PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11021089.outbound.protection.outlook.com [40.107.192.89]) by sourceware.org (Postfix) with ESMTPS id D7D484BB24C9 for ; Wed, 30 Sep 2026 19:42:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D7D484BB24C9 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D7D484BB24C9 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.107.192.89 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1790797321; cv=pass; b=X38JED/HzUTBuSn8m1CAvAhX+sUtiTcup8I0oe2ZqdgKJ+Z4iIwNn/u1umVwHgxxai2G4a12SPE9DgaJVuqkPEuMehUSYkRRDaaUYlVpckkhv9Fkpu8QATmYj45WBlTwn+fPFH4umjzqLeQVTm8RgemzMQ6QP41SG3NiObeFF5k= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1790797321; c=relaxed/simple; bh=s5a7jCL8roZJDf1TOuZEKp5P3nA9a5AluFdmqfKTExE=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=JgU6C/c7InaC5zxGENG/oP9hiWsb5IM67E7Qg8WCADwDaDmejNBm6GmZb3uZyXD6BJ10tTEjfvzyRyQJI5VA3M/FPrcemg8O2leUi1I1i09s5iUIYIwhNAHhPDPBYn7NelWUqJKogJ0qcHzy3rcB5AHrUCXS+IVCe57QONa9mPo= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=H5YHzWk3 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7D484BB24C9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oftyddvCR/4uHPzsb0kTHM5FY4Zc0W0os2jpRQB+7JHgDn/BZldYTUQWR33NCSYS+xW70opBiq9mAyMYJ4Uq8q9JSV2UxpoBb36+5M85W4c52nkvISQHki2TWjDypsEsuiRcK7/ztU260EwBFKv3Z+oHvK488CXgRH6gCaT5ODcEloJnQdVM0BBsAWNza/L4ywGGxJ0mif191cAK75RjFdBQkeg7xMxDPauC0lIMeSD3TA15o15ZbfTRO0TTOcym8aNteeXGjNRP1Npx6e+3++sIOyqd9y6ueHgCet8oT5gaEtApjTdJrtF0Umr36rZObqtQlBzzpzLXH+eWUEqK8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l4nL8imsg62xpa9PQl66TdPrKVQg5u3un0Nt2DZqw9g=; b=EXq2v29U4wonCm7ajg4NT+t8L3pkQziqA+BKQu4Mq4e4HMSh453pE4WYkNApE0VC7/qsqc0j7QX0/pQszx7Sj103IhgNLdBE7YZYdb/QYFdPymesk7R4fa1ryozTrhJ0eLriorZOC0htuwA74YpKuM7wU0wXR0pzGH5yh5uLBcOOr4esVpjA5ArNP0tUykFitYQdYcL0GRlq9LeAKLTv8wqqUDyH+Gb94ad6zcinlAx2silAMLeEU95/dffRDKsI8qvBTnfIj46WHX6TNYeXCuewlZT8DQc437lWrH66YgwmNepFeYbmHt87H6cb/YeHPf1fLbPQyxVJ5Xm4qdus3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l4nL8imsg62xpa9PQl66TdPrKVQg5u3un0Nt2DZqw9g=; b=H5YHzWk38/ID76bBkORLTjShC6KJ2K6dqJ0FSJ8uhpPEG7DddEE49QZX1JUbSRfZuSZHyELDOLS2tgrvXnS3EOLBx+BrwOAU0ONJ0GDk4M8/XhrvaakuVzoAXmAAhwJP1WatI3yiEL4fVv+MuNC/m4wDvxZAxnT5Q/0wWxk0CKCPnrHnAUDGHpM41xJihwaRROWUoapiHXkpxjgDfL1P043o7YjIJjXyjkmQW/1RFC3mhrNNmlYF0Dl8OgkhN6SAF0mUcL/n0eGoIm2+IKnKoPi+Pkz3Jq2EZdBcb63bHtVfDtad3B1DxpuSPP++g+pbjZnTk+HvY+EsTo54oQMrng== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) by YT4PR01MB9863.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:e3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.15; Wed, 30 Sep 2026 19:41:54 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d%7]) with mapi id 15.21.0451.026; Wed, 30 Sep 2026 19:41:54 +0000 Message-ID: <881965eb-7544-4165-9183-13cad92a51da@efficios.com> Date: Wed, 30 Sep 2026 15:41:52 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 4/9] gdb: use a switch on m_kind in add_matching_symbols To: "Rohr, Stephan" References: <20260929194119.155169-1-simon.marchi@efficios.com> <20260929194119.155169-5-simon.marchi@efficios.com> Content-Language: en-US Cc: gdb-patches@sourceware.org From: Simon Marchi In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0076.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:4::9) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YT4PR01MB9863:EE_ X-MS-Office365-Filtering-Correlation-Id: 26a1d901-467b-48eb-98b1-08df1f2ae131 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|10070799003|366016|23010399003|376014|1800799024|4143699003|22082099003|18002099003|6133799003|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: ctJzImLCE8q1i6Bca/ITswdciWLw7TA7SJeFYXQ6YR9x6hySR3zz5zGr9y4ksGxkQ4rU1xihRv/3S2hGeGx9qbjZsCIDFG+2EbFzNKWobBIVpKQNIpyzZmBEFTl6F16CusGtOqMozWfXjx8PIvVgtHrei1t5qR5qqmq+qA2vcNPu1sTbHCuD2Gw/9MK+CacmE53mrzmhX3Z4qpvgbJkGPFt1Yq1WmGjV3YO+07WYbnqxMRenzhy8GnpeZNcCfVP7bWwlx0HplOfQgHu73pmlpYy9S4eqCCPy/SEPCCKr7/zNmIxaB77BhmP5hCvUCj3AwSyc0I2wSLIHGZdB9Y1jHk1OXU5ZMWKpIES8zuMLnud/TM5b+26R5xD+6qQop2tDntPOqfklIp02WLFKTuZ4DtPtVITrHfi/hI07H7KjbghBMtQFGrDd6m5ILYredRnOWl2WnujctmVr1kcnvQ+HG/CRwJ4z9dQYna3Ipejq0x/Hn954Ewqx1D5mvTSvhN1hntngAtUCQ+GiTWAT3LruM7+E83yjxAVse5+NVIJnjcHXINsYCfxnzLAToPp/azB50BtCDPPn5tFL3GX03M1gEafMJS5FDniUrxv67CCwWTUewOFJNegHDxEqS7KDG+VfTc9E05VLvdSo7NB1i57udG3oFBTmofHGSUktWbd29h0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(10070799003)(366016)(23010399003)(376014)(1800799024)(4143699003)(22082099003)(18002099003)(6133799003)(10067099003)(56012099006); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dVBtMVR4d2xYcGFKZlp1TURzb0l5cjMvTUp2K1FLRDJua0hza1dZclpzbExC?= =?utf-8?B?V3lITnFxbGxla2VwQkhPZkU2NnoyQnZDTGhwbENxYU5MRmhXb3R5dXI3VkFB?= =?utf-8?B?YjFTWm1Wb0w1YTZ3OC9aM0I1MVB1T001ZWNNVUc1SDQ4MkIrS2hOTkVudTVV?= =?utf-8?B?eC9HWkN0S2N4RHQvWmxSUzlKZXhuRlpMNjlIYTZ5ZUdLYVdWOWVYYTZDS1dt?= =?utf-8?B?elFtSXRvWFdrVkIyUzgrbmU3M3YyeTdObERwUG5ucUVBLzgrNWxJa3QzbHJq?= =?utf-8?B?OExZdUdkcVJDVkRoRm80b3dGbTlpM1Y1SlNlZE9WV1JkZzRoWmVXWUJyaTJa?= =?utf-8?B?Yk1BVUk0M0FiNjhmUUlNWkxvK09rUW9QNjFpQkRUZnRKTW9qdTJRSXU4SU5C?= =?utf-8?B?QU5zUGRDL082QUE3N0hlRDJad0lTNkRMalAyS0hjMFJQOEVlTVNBNjVrUEZ4?= =?utf-8?B?a2djMjZ5VG5KRFc3bXlqamZuU281T2hqYk14ZmcvYWF0dVdoaFFXSk5YeUov?= =?utf-8?B?Y0k2SzB0V1Awc0ZCK1I5eEFYMktTNmxqQzFqOG5lY29jVk1Zd2l6eklRTTJk?= =?utf-8?B?MDVhK3JLdlhUMUZCSG9GcEo5V2RpUlhhR0U0TWpCSlhuc0pwNGtrVnI3c25G?= =?utf-8?B?dmJWUjFVc0l3ekhCNGNEN2YzVTFvYmh6NzByQ0dmWlpqNzFQTTR3bWpPbWw0?= =?utf-8?B?Uk9TYngwYkxYcU5BODJMNkhUSEE4RFRVcGlKNnhYcVRLODd5THhYNk5aaDVu?= =?utf-8?B?N1NtWnlldHljdG9sMC9FSDVoUmlobVo3VGxmYS9yVGJaZkhRSmsvMVltSWZR?= =?utf-8?B?T3hQN3Z0THF5THdlL3BpRXFUOVhQUCtSNys5QjNlUlpKMVgvWS9ZT1dpN3FQ?= =?utf-8?B?Z3ljcGZQbG5oVmxFWE1malVwWTlsMjk4U3ptbzV5ZithN0NmNCtuNlJrTUpG?= =?utf-8?B?UHdzekk3T2JVdWN2WXJ6amYxY0YzZ09zMUNhUi9QNWxNZkNWM2w1RlhPdG5I?= =?utf-8?B?cWQvN0pHRExmUDM2S2JSTkFPdkNaTmFRVUREVE1iLzQyL0ttcnBWekhQWEN3?= =?utf-8?B?TEpiOStURnpnWGIrQ0FrNTVrUEFYT2JHVCtxb0I1bDZ0N0p1d09aZUg2ajhx?= =?utf-8?B?Ym11aW54KzFabm5mVG9lbVdJeVRyOUtBdHk3RERxQlU1TmdnbzU2RFgyemVu?= =?utf-8?B?dFAyUnVOaXJuVVBTOVcyQXZjeGZzdTV1NWlaV0wrTXpvd2M4Y1ZVUGdWMWNv?= =?utf-8?B?a1IzUXI2a0RPMElxYXFMYlBRU3JwSlVqSm1iUHg5dGRwQ2lCdFlqQS9BNXha?= =?utf-8?B?MVFjb3Bya0o4bmgyZEpQd0x1ZWZEUVZzSWszbnhRaFhIUWR3ckhSdE5Sa2Vv?= =?utf-8?B?ZmVoUHZKdEp4bmcwa2RNckxCN1pEdFNRWmZvNkhFZ3VuQWZrM2srQTExd1V3?= =?utf-8?B?YWFxbUFBYTQ2TzlsOTk2dzZ0czluZGE2azhQR0dzNG9JejdDOEpSU3RnN084?= =?utf-8?B?c2ZFbUsrODQreUo5dmdiZmE1MDMwM0s0T1NiWjVmZXdBcHZySW0xRk4yUDJQ?= =?utf-8?B?MHh5MkJUYTF3Q2VMSHJJZmlhUG1xSUNhaXNDcy9rcXVCNUZRWDkwNHpFQmh3?= =?utf-8?B?bElwV3I3QVhYSzlZa1R5MTZEMERHMlkwWG41NUlUdmlqNTJibDZKMEE4ZXFn?= =?utf-8?B?WlpUOHI0VTUzZUNrNWlsTi9aSlltc0ZoSmJjSkxsMFphZm82N25GMlQ2N01Z?= =?utf-8?B?RDNYSzBFZ29IQnN5Vmp0YjYxdWgrS0ZTOFVRQXdxVDMxa3FFLzluQ3AvYVRw?= =?utf-8?B?N00vbDNyK0ZYTlJGVU9DdVRqSzNxeVZ3M1h1RWpnY2JkcVhkRHA5OENhbGNr?= =?utf-8?B?ajJ4MHVaU29xdG5PSXg5L2toc2tZS0pvOXJNYmRycmNwQVMyVURtWU8yNG5x?= =?utf-8?B?dUFPM0xOa0lxM21La2psOFNOdytaUVk2NjFnZmxZQWJvdWk3ekRhb3Q2OUx0?= =?utf-8?B?L2EvV1ZlUDZxdzZmeGRwNE9qTGhjR1VYMEdRNDBUcWdUbkVHdlBzRG1hMk15?= =?utf-8?B?cEpWcTdCc3VoM1h5OThyekIvUWM5UHV1aGlWSXpkSlNnTXpyMFNMVFlpdHln?= =?utf-8?B?dURCNGdFMDd5QjliZ3hRMUlPUFpUWkxMWEdBaEc1ejE0Q3UzVDI3Nno1M25G?= =?utf-8?B?MndDb3NqTmdmUTdsOUJsTXJ3U0NsOHRCTGJOTFBpSGEvTlBIUkowcFZsMWUv?= =?utf-8?B?QTF6WHQyRENZL1JQZndZcDlXU1BlUlhoNlAzbzVLNWtQa3RqRzVRLzFVa2dD?= =?utf-8?B?U0lQSEVLelZjU0hTclZXV3RNNWJuWE1VMjF0YVJpSXR6c1E3bGVEd0dWTUI1?= =?utf-8?Q?NmVDY5x74AiSE0nN+m7TeOkHrnRhNxUKQqP/2LMPWSnLK?= X-MS-Exchange-AntiSpam-MessageData-1: bgSqQRquNaRAGw== X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26a1d901-467b-48eb-98b1-08df1f2ae131 X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2026 19:41:54.1155 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qL8UixxZVBXrKU6095IqjiNC0rUUWvPECmmXlzjVaOcvSt+9VIJlbB56OyfPAuY5C0BXGFBqxwafOOwSRJdaHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT4PR01MB9863 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~public-inbox=simark.ca@sourceware.org Seems like you missed doing reply all, so re-adding gdb-patches. On 2026-09-30 08:32, Rohr, Stephan wrote: > > >> -----Original Message----- >> From: Simon Marchi >> Sent: Tuesday, 29 September 2026 21:39 >> To: gdb-patches@sourceware.org >> Cc: Simon Marchi >> Subject: [PATCH 4/9] gdb: use a switch on m_kind in add_matching_symbols >> >> add_matching_symbols applies some filters that only make sense for some >> kinds of searches: the type regexp for variables and functions, the >> LOC_UNRESOLVED / enum constant filter for variables, and the line number >> filter for modules. Some of these check m_kind, others check the >> symbol's domain. Since the earlier sym->matches check only lets through >> symbols whose domain corresponds to m_kind, the two are equivalent. >> >> Group these filters in a single switch on m_kind. Add a comment for >> the module filter, which skips module declarations, because it wasn't >> obvious to me at first sight. >> >> Change-Id: Idf1b366b4cfd16187848b64075a0067190c111fc >> --- >> gdb/symtab.c | 33 +++++++++++++++++++-------------- >> 1 file changed, 19 insertions(+), 14 deletions(-) >> >> diff --git a/gdb/symtab.c b/gdb/symtab.c >> index 4b2c4be8d117..2bb1cbf1b9ad 100644 >> --- a/gdb/symtab.c >> +++ b/gdb/symtab.c >> @@ -4860,25 +4860,30 @@ >> global_symbol_searcher::add_matching_symbols >> nullptr, 0) != 0) >> continue; >> >> - if (((sym->domain () == VAR_DOMAIN >> - || sym->domain () == FUNCTION_DOMAIN) >> - && type_regex.has_value () >> - && !treg_matches_sym_type_name (*type_regex, sym))) >> - continue; >> - >> - if (m_kind == symbol_search_kind::VARIABLE) >> + switch (m_kind) >> { >> + case symbol_search_kind::VARIABLE: >> + /* LOC_CONST can be used for more than just enums, e.g., >> + C++ static const members. We only want to skip enums >> + here. */ >> if (sym->loc_class () == LOC_UNRESOLVED >> - /* LOC_CONST can be used for more than >> - just enums, e.g., c++ static const >> - members. We only want to skip enums >> - here. */ >> || (sym->loc_class () == LOC_CONST >> - && (sym->type ()->code () == TYPE_CODE_ENUM))) >> + && sym->type ()->code () == TYPE_CODE_ENUM)) >> continue; >> + [[fallthrough]]; >> + >> + case symbol_search_kind::FUNCTION: >> + if (type_regex.has_value () >> + && !treg_matches_sym_type_name (*type_regex, sym)) >> + continue; >> + break; >> + >> + case symbol_search_kind::MODULE: >> + /* Skip module declarations, keep only definitions. */ >> + if (sym->line () == 0) >> + continue; >> + break; > > For consistency, I think adding the fourth case would be good: > > case symbol_search_kind::TYPE: > break; > > If the -Wno-switch is ever to be removed, this won't produce a warning. I don't agree with this one, we don't need it precisely because we don't use -Wswitch. If we ever want to enable -Wswitch, there are a ton of sites we'll need to adjust, this one is no different. Simon