From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id CUeGJX3/Amp9YTMAWB0awg (envelope-from ) for ; Tue, 12 May 2026 06:22:53 -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=UBZglwrI; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=dWJReJv1; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=MC657gfz; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZBOpHbXU; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 942B11E093; Tue, 12 May 2026 06:22:53 -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 B0C481E093 for ; Tue, 12 May 2026 06:22:52 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 50BB14BAE7F9 for ; Tue, 12 May 2026 10:22:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 50BB14BAE7F9 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=UBZglwrI; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=dWJReJv1; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=MC657gfz; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZBOpHbXU Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id CD6724BAD17C for ; Tue, 12 May 2026 10:21:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CD6724BAD17C 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 CD6724BAD17C Authentication-Results: sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778581306; cv=none; b=WTj3R+SXIpn3/vpI3/l8Lv+rmivqvYKUuVhorjDUjORO1b/2l7axOqeSwZAX9I+522N/9TMQWj/METi/HNKbhx5h+tSaDWjAaCv1DlRKr8h51QfpPJ70pGbMaWVrGbXV3BHoZAijgH6NNZQ5tPSA910xtSY18lECQbD0SLCrtTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778581306; c=relaxed/simple; bh=SBhYt5815ZGPEP0Jof0EUV1xfZdO59SCFLjGaXJahZk=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=batnSNtiaYriNNXyDluNoshaBvbyq7hfZSKOOQgZiMMl9LsLvC2uhS+skZ8qZ7y2+cHpgwK49NxAM0BA4GHkKzZkAoMmO9kniDSpn7iRuisrz18p9fusAhQ9snWUVev+mTmZ2wLqNKLEhAPTutmZwJ4Y3V3zIHez7KLjhud7HsE= ARC-Authentication-Results: i=1; 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=UBZglwrI; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=dWJReJv1; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=MC657gfz; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZBOpHbXU DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CD6724BAD17C Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104: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-out2.suse.de (Postfix) with ESMTPS id 916D675A8E for ; Tue, 12 May 2026 10:21:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1778581289; 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=UBZglwrI9yYjiHugh7ghemg7OBDrt6UPDVIEHg+cY9ADIE3/R224AZgl0cO1cWPpxoSX6J futBoywXN9SO1mE4gC3vEcpgYHgTFzp/nX3TwSA4qDRYz2eOMXp+QkXl61BUgBTj4F7jdY 0zNWWshRPIPkRJ62Z+93mM0HI8nNevM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1778581289; 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=dWJReJv1DHjUwFEFOPhiaPg7bmuUN5xMkXasseI+9Juz5aFpWPK393g1BuSdSrBdyflTzo GLp3MKrcDxXbW1Bw== Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=MC657gfz; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=ZBOpHbXU DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1778581285; 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=MC657gfzicDN5rEfRkC+5axi/Y/qZ43bmWbFwUjZetX7/AigPqooXYDhbwECvmySlpaM/j Q43F80aePxepxES3odqfHk9L7ymCC5+VdbUTwvQyK8+SK/IYlgRXKIA4UnrOQH/BMR3dfM Sv6qGwNPyds56q5dPn1CPs1IUkYhv00= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1778581285; 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=ZBOpHbXU0kW/YtoZMGe/g0ydotbXHEExyIqM5d9aki6aMSF7/aGh2x24nHRk6wJA+4IbF2 mf7r1OsvOTePpsDw== 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 771DA593AA for ; Tue, 12 May 2026 10:21:25 +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 KDC+GyX/AmpjawAAD6G6ig (envelope-from ) for ; Tue, 12 May 2026 10:21:25 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH v6 1/3] [gdb] Break up complex assignment in cp_lookup_symbol_via_imports Date: Tue, 12 May 2026 12:21:22 +0200 Message-ID: <20260512102124.517642-2-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260512102124.517642-1-tdevries@suse.de> References: <20260512102124.517642-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Action: no action X-Spamd-Result: default: False [-3.01 / 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)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; FUZZY_RATELIMITED(0.00)[rspamd.com]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,tromey.com:email,suse.de:dkim,suse.de:mid]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+] X-Rspamd-Queue-Id: 916D675A8E X-Rspamd-Server: rspamd2.dmz-prg2.suse.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~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