From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id fTnjFJqO5GmndikAWB0awg (envelope-from ) for ; Sun, 19 Apr 2026 04:13:14 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=IsT4X88N; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ei2V/s7G; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cjIWJvUK; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=RZCkoU7a; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 242F81E0CA; Sun, 19 Apr 2026 04:13:14 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.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,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 5C98F1E093 for ; Sun, 19 Apr 2026 04:13:11 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id C17B74C91766 for ; Sun, 19 Apr 2026 08:13:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C17B74C91766 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=IsT4X88N; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ei2V/s7G; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cjIWJvUK; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=RZCkoU7a Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) by sourceware.org (Postfix) with ESMTPS id 433284BA9009 for ; Sun, 19 Apr 2026 08:12:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 433284BA9009 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 433284BA9009 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776586360; cv=none; b=FvJnwjHVRVh/TZLIUhwo8oLMzoOeqIx54PIddLf1lJzknKNKJC3W8f4zW7jGS9lxxBVFgCjYfPndfidHU3qGPnrVggdebGGWWKbb0joNkmloh+Uy3eEImoAur6/K0PSfqQyvZpkE9fVzfRVkdnQLrocpggkWHsNV6hBmNGL+68I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776586360; c=relaxed/simple; bh=SBhYt5815ZGPEP0Jof0EUV1xfZdO59SCFLjGaXJahZk=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=Z0NCHNseZH366c/InEd+8FLWReTE+c/wsOxjzCFssVOgv+D/I9FG4CECwKXtTrEat3SaOOBdK723D6wlvD4g06qdA6ITr+DY7GIdZH8lUs3OYcJmPdPgvB1/icfccCneg+dVPfXxfIoPpqgizpo4nTSCGIueHNFWrBrnpzzUwbc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 433284BA9009 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id CE0486A943 for ; Sun, 19 Apr 2026 08:12:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1776586358; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMvMmR/AKttZQwgF/LLg8L8azdSLkLe3IigyrwrhsDA=; b=IsT4X88NlUUYIWJRwtQsulAzTd7dt0IyV8/1ZySIX5HNozN7THczszMtr8A6zNIBwj7KA6 oqg7XcSi+cdAM4Hrcalzne/vL7AQBemv1R/a+VEbLmmjQxQUK0tdVY1y+3X6of4VWJ5TtJ lJS9pl95cvBIGmkbSjRJ7dxRiTaffBk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1776586358; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMvMmR/AKttZQwgF/LLg8L8azdSLkLe3IigyrwrhsDA=; b=ei2V/s7GHxyfaS112l13y50adCQkXcuQvyBcLWbPO6cW88nQS8PYEeLmLGMjXNPbFFHibY ScEmfGXq1PwMHbCw== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1776586356; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMvMmR/AKttZQwgF/LLg8L8azdSLkLe3IigyrwrhsDA=; b=cjIWJvUKi30oWB452j7IHe2RD+O9UsxL2xsBYMXjnuB8Mf7EtTd1G9WQ0SnWAh1Eahw/yV ze4dsi4/o417PCCVmy7574dGhUgWBJ2LAt6MlGicg2f/IzGFp/lgIGABsMVfrxfoB2Mftp azUT9LDTEVeUrODdfaPqS3OEKwV+2Fc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1776586356; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMvMmR/AKttZQwgF/LLg8L8azdSLkLe3IigyrwrhsDA=; b=RZCkoU7aMdHwQ5LE+debA71VsHib8LQ7YvZOhdzC5ZaVGvouq0hKoYar51EzgXSEJ/AaTe wU+OsM7hNvP6ncDw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B5333593AF for ; Sun, 19 Apr 2026 08:12:36 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 2I/vKnSO5GktUAAAD6G6ig (envelope-from ) for ; Sun, 19 Apr 2026 08:12:36 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH v5 1/3] [gdb] Break up complex assignment in cp_lookup_symbol_via_imports Date: Sun, 19 Apr 2026 10:12:34 +0200 Message-ID: <20260419081236.570600-2-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260419081236.570600-1-tdevries@suse.de> References: <20260419081236.570600-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[tromey.com:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] 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 In cp_lookup_symbol_via_imports, we have a complex assignment: ... directive_match = (search_parents ? (startswith (scope, current->import_dest) && (len == 0 || scope[len] == ':' || scope[len] == '\0')) : streq (scope, current->import_dest)); ... Writing it like this makes it: - harder to comment on parts of the expression, and also - harder to understand and modify it. Also, len == 0 makes the startswith redundant, so that part of the expression can be hoisted. Doing so makes it clear that scope is not compared against in all cases. Fix this by breaking this up into three separate assignments: ... if (search_parents) { if (len == 0) directive_match = true; else directive_match = (startswith (scope, current->import_dest) && (scope[len] == ':' || scope[len] == '\0')); } else directive_match = streq (scope, current->import_dest); ... Approved-By: Tom Tromey --- gdb/cp-namespace.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index c8cd5c245aa..1903287770b 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -394,7 +394,6 @@ cp_lookup_symbol_via_imports (const char *scope, { struct block_symbol sym = {}; int len; - int directive_match; /* All the symbols we found will be kept in this relational map between the mangled name and the block_symbol found. We do this so that GDB @@ -425,13 +424,21 @@ cp_lookup_symbol_via_imports (const char *scope, do not use this directive. */ if (!current->valid_line (boundary_sal.line)) continue; + len = strlen (current->import_dest); - directive_match = (search_parents - ? (startswith (scope, current->import_dest) - && (len == 0 - || scope[len] == ':' - || scope[len] == '\0')) - : streq (scope, current->import_dest)); + + bool directive_match; + if (search_parents) + { + if (len == 0) + directive_match = true; + else + directive_match = (startswith (scope, current->import_dest) + && (scope[len] == ':' + || scope[len] == '\0')); + } + else + directive_match = streq (scope, current->import_dest); /* If the import destination is the current scope or one of its ancestors then it is applicable. */ -- 2.51.0