From efca477b5e3e844aee9e73475f33af528fe5dbe6 Mon Sep 17 00:00:00 2001 From: Ryutaro Okada <1015ryu88@gmail.com> Date: Thu, 7 Aug 2025 22:51:00 -0700 Subject: [PATCH] gccrs: Add name resolution processing for discriminant values gcc/rust/ChangeLog: * resolve/rust-ast-resolve-stmt.h: Add name resolution processing for discriminant values. gcc/testsuite/ChangeLog: * rust/compile/enum_discriminant3.rs: New test. Signed-off-by: Ryutaro Okada <1015ryu88@gmail.com> --- gcc/rust/resolve/rust-ast-resolve-stmt.h | 1 + gcc/testsuite/rust/compile/enum_discriminant3.rs | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 gcc/testsuite/rust/compile/enum_discriminant3.rs diff --git a/gcc/rust/resolve/rust-ast-resolve-stmt.h b/gcc/rust/resolve/rust-ast-resolve-stmt.h index d7145112c82..d4caabeee38 100644 --- a/gcc/rust/resolve/rust-ast-resolve-stmt.h +++ b/gcc/rust/resolve/rust-ast-resolve-stmt.h @@ -235,6 +235,7 @@ public: redefined_error (r); }); + ResolveExpr::go (item.get_expr (), path, cpath); // Done, no fields. } diff --git a/gcc/testsuite/rust/compile/enum_discriminant3.rs b/gcc/testsuite/rust/compile/enum_discriminant3.rs new file mode 100644 index 00000000000..32c79a5cd0a --- /dev/null +++ b/gcc/testsuite/rust/compile/enum_discriminant3.rs @@ -0,0 +1,8 @@ +const x: isize = 1; +// { dg-warning "unused name" "" { target *-*-* } .-1 } + +fn main() { + enum Foo { + Bar = x, + } +} -- 2.47.3