aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-09-14 17:39:37 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-08-01 16:52:25 +0200
commitd61973e4dd48259577dbc3f2cb4f9b2a489a7950 (patch)
tree2ad09dc1bf9d503c65aeaf2e70d02f8fdb44d86d /gcc
parentc47cae71d32fa580572a5284e677590ed7cd9509 (diff)
downloadgcc-d61973e4dd48259577dbc3f2cb4f9b2a489a7950.zip
gcc-d61973e4dd48259577dbc3f2cb4f9b2a489a7950.tar.gz
gcc-d61973e4dd48259577dbc3f2cb4f9b2a489a7950.tar.bz2
gccrs: Fix duplicate detection
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 <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc5
1 files changed, 1 insertions, 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 446a1c6..407892b 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]);