From: Ryutaro Okada <[email protected]>

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 <[email protected]>
---
 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.50.1

Reply via email to