aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir
diff options
context:
space:
mode:
authorMuhammad Mahad <mahadtxt@gmail.com>2023-07-10 17:26:45 +0500
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:49:35 +0100
commit9c99d52d00a941f48d93ae116cd425440bdfa5b2 (patch)
tree0bdb80451e7435514646f9a613e6b11bf808a7c1 /gcc/rust/hir
parentf9b0ca04c88bcea93d9e80f2c98089da7484f0d7 (diff)
downloadgcc-9c99d52d00a941f48d93ae116cd425440bdfa5b2.zip
gcc-9c99d52d00a941f48d93ae116cd425440bdfa5b2.tar.gz
gcc-9c99d52d00a941f48d93ae116cd425440bdfa5b2.tar.bz2
gccrs: [E0124] field x is already declared in struct
Refactored error message for more than one duplicate fields. gcc/rust/ChangeLog: * hir/rust-ast-lower-base.cc (struct_field_name_exists): called error function. gcc/testsuite/ChangeLog: * rust/compile/bad_pub_enumitems.rs: changed comment to pass test cases. * rust/compile/dup_fields.rs: likewise. * rust/execute/same_field_name.rs: New test. Signed-off-by: Muhammad Mahad <mahadtxt@gmail.com>
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r--gcc/rust/hir/rust-ast-lower-base.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-base.cc b/gcc/rust/hir/rust-ast-lower-base.cc
index 82d1d2c..5a1ce74 100644
--- a/gcc/rust/hir/rust-ast-lower-base.cc
+++ b/gcc/rust/hir/rust-ast-lower-base.cc
@@ -681,7 +681,8 @@ struct_field_name_exists (std::vector<HIR::StructField> &fields,
{
RichLocation r (new_field.get_locus ());
r.add_range (field.get_locus ());
- rust_error_at (r, "duplicate field name %qs",
+ rust_error_at (r, ErrorCode ("E0124"),
+ "field %qs is already declared",
field.get_field_name ().as_string ().c_str ());
return true;
}