https://gcc.gnu.org/g:8fc2bccec330950c11c7c5c54dc8b0b5798a70cf

commit r15-8441-g8fc2bccec330950c11c7c5c54dc8b0b5798a70cf
Author: Owen Avery <powerboat9.ga...@gmail.com>
Date:   Tue Oct 15 23:42:41 2024 -0400

    gccrs: Handle external static items in toplevel resolver 2.0
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-toplevel-name-resolver-2.0.cc
            (TopLevel::visit): Handle ExternalStaticItem.
            * resolve/rust-toplevel-name-resolver-2.0.h
            (TopLevel::visit): Likewise.
    
    Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com>

Diff:
---
 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 7 +++++++
 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h  | 1 +
 2 files changed, 8 insertions(+)

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 c9d51039f0ee..a0d8492b7eb6 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -264,6 +264,13 @@ TopLevel::visit (AST::StaticItem &static_item)
                       Namespace::Values);
 }
 
+void
+TopLevel::visit (AST::ExternalStaticItem &static_item)
+{
+  insert_or_error_out (static_item.get_identifier ().as_string (), static_item,
+                      Namespace::Values);
+}
+
 void
 TopLevel::visit (AST::StructStruct &struct_item)
 {
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h 
b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
index e9e0306f11a1..7f4e29585de3 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
@@ -152,6 +152,7 @@ private:
   void visit (AST::Function &function) override;
   void visit (AST::BlockExpr &expr) override;
   void visit (AST::StaticItem &static_item) override;
+  void visit (AST::ExternalStaticItem &static_item) override;
   void visit (AST::StructStruct &struct_item) override;
   void visit (AST::TupleStruct &tuple_struct) override;
   void visit (AST::EnumItem &variant) override;

Reply via email to