From patchwork Thu Aug 1 14:57:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Cohen X-Patchwork-Id: 1967784 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=embecosm.com header.i=@embecosm.com header.a=rsa-sha256 header.s=google header.b=PbYUgxA3; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WZXlw6KwZz1ybX for ; Fri, 2 Aug 2024 01:23:08 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 25397385E836 for ; Thu, 1 Aug 2024 15:23:07 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) by sourceware.org (Postfix) with ESMTPS id 23C153860C07 for ; Thu, 1 Aug 2024 14:59:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 23C153860C07 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 23C153860C07 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::135 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1722524414; cv=none; b=p0wQvr2akuG6odRm1k71p8NNw+HawgFPnuG8gGd01uu4mb+ndVG6FV0Olp5dyohqIo7Uj/pzpdYiqtMMa1r8YVCHITpQQ03EBhv/oxVKAGWM42z1hozLXVRohYK2hsrmyD3jh015ayfHZB5nQBlPpqzkI/RRCTMl3qsO+BrJX/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1722524414; c=relaxed/simple; bh=R1a6XjaCPDqUhy7mamVeXj9UI4tel94RMN5ld8hgduU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ZwCncCngK/2IVNp1nXcVIZ2xB72jq5XLL7xL38e20b/qSFMCnnqak0yIpOTP2Yr8w1WjIIxHgDphkkNube+s59rLzMcXBy9s1XZiB4hGe4+/A+fo+eSaQ1xbfKppBeMcMRgI9r/9YOj1e09EJGLe/MepoD131cdYTb0KWZDhvas= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-52ed741fe46so8078745e87.0 for ; Thu, 01 Aug 2024 07:59:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; t=1722524374; x=1723129174; darn=gcc.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e9aaWI3XIeZ2gItbIHk+VxlUCvH7clj3cvZ16WG6rqc=; b=PbYUgxA3UVFIVP8vkDP4FLk3F5aeUENA7stHB/XNQlXz+demxQRTV79Pf86N3RVP5F LJdeD8v63cNlFzhRL1hPcl0IOJCfvour8x0rtLu02JWxpilpKKLhAEMKvB4cJxH9Kw8h 345Uq6ejI8Cv7bHDD2gSlyHKX0QUZCeHn8OABDRGxVq0jG2cNPckYehVzfJn7OsaYu6B bK+QO6ZQqNdJ8YXBKIZTwFBI7rV6YcZd12cyGCRolVYfLTcI9M2W9ycc30+VqqzafMr4 tzupJBv1zGY6nMuRJ/IkMKJqQ0QRfguT+X6DXYTr1MG221UdmD/yMa6AhC33t/TxHmro kvjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722524374; x=1723129174; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e9aaWI3XIeZ2gItbIHk+VxlUCvH7clj3cvZ16WG6rqc=; b=FZutK8YuKP7HyBg+EeMm+M9v9AzZj0vmCF7whoQ92E987VibFMSacFgEmZ5oFOkqBq U0gUjHxg4yolnCWjS0mL4+AMd5sSuRqewmI4K2Mnm98Ys6aJCYn6W13FAXhDy9cJj6ry OFj53EdHP/iJhEvAhwl6Nz1l0SFYWWV8GiDqFWL8NthTm+PS0TvlT1TcgHiGWc5lW46R V857eI9nT6vS2E1wUhyBVCDo/yoXeYFlmnT0bogufvkwsnHwKFCpmU6g2iledOXAXK/X rPlrwldCKD8eW6HZuLVITk1LpcyXBZZZ+hKoiwepEbnmrwmzXToKDyhA/RBehMzoulLF WuPA== X-Gm-Message-State: AOJu0YynMsyi6saj3yPtdFcbHCiBQXsddDjhsH5L3e5zBca7jw9/BdtV ds7sMAHmNOGa0paNiRgh1Pehpl3TfSefS3pmHO49hrs0I8NgJ2RZkvvoURDGkBgmBsXqmia4cgM EtjBc X-Google-Smtp-Source: AGHT+IGN5MtKR9nYxu6trocjqV8HKM9uf3bn4bG5x/pCvW7nRj303mJnKUUVvYuKi/akqi2zIkBcdQ== X-Received: by 2002:a05:6512:3a88:b0:52f:d5a9:7065 with SMTP id 2adb3069b0e04-530bb6c7ecemr73678e87.53.1722524374315; Thu, 01 Aug 2024 07:59:34 -0700 (PDT) Received: from platypus.lan ([2a04:cec2:9:dc84:3622:6733:ff49:ee91]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5ac63590592sm10252456a12.25.2024.08.01.07.59.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Aug 2024 07:59:34 -0700 (PDT) From: Arthur Cohen To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org, Pierre-Emmanuel Patry Subject: [PATCH 068/125] gccrs: Fix duplicate detection Date: Thu, 1 Aug 2024 16:57:04 +0200 Message-ID: <20240801145809.366388-70-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240801145809.366388-2-arthur.cohen@embecosm.com> References: <20240801145809.366388-2-arthur.cohen@embecosm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Pierre-Emmanuel Patry The resolver did report duplicate symbols when being run multiple times even if the node id was the same. This commit adds an additional condition, the error will only be reported if the existing node id is different from the current node id. gcc/rust/ChangeLog: * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::insert_or_error_out): Add new constraint to duplicate errors. Signed-off-by: Pierre-Emmanuel Patry --- gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc index 446a1c6a41b..407892bb7bb 100644 --- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc @@ -47,11 +47,8 @@ TopLevel::insert_or_error_out (const Identifier &identifier, auto result = ctx.insert (identifier, node_id, ns); - if (!result) + if (!result && result.error ().existing != node_id) { - // can we do something like check if the node id is the same? if it is the - // same, it's not an error, just the resolver running multiple times? - rich_location rich_loc (line_table, locus); rich_loc.add_range (node_locations[result.error ().existing]);