diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-12-23 10:27:13 +0000 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2025-01-28 17:35:37 +0000 |
commit | 33d901d12755e16ee70ace5c9afc07e9aac0c4af (patch) | |
tree | 83a789cd0116cbffa4a74a1b82d5405282df1c80 /gcc | |
parent | 60e0d0453fbddef7cf8495f896f9ac189f4d7e17 (diff) | |
download | gcc-33d901d12755e16ee70ace5c9afc07e9aac0c4af.zip gcc-33d901d12755e16ee70ace5c9afc07e9aac0c4af.tar.gz gcc-33d901d12755e16ee70ace5c9afc07e9aac0c4af.tar.bz2 |
lang-items: Collect enum variants as lang items
gcc/rust/ChangeLog:
* ast/rust-collect-lang-items.h: Declare visitor.
* ast/rust-collect-lang-items.cc (CollectLangItems::visit): New.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/ast/rust-collect-lang-items.cc | 9 | ||||
-rw-r--r-- | gcc/rust/ast/rust-collect-lang-items.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-collect-lang-items.cc b/gcc/rust/ast/rust-collect-lang-items.cc index 11c3297..cd6be7f 100644 --- a/gcc/rust/ast/rust-collect-lang-items.cc +++ b/gcc/rust/ast/rust-collect-lang-items.cc @@ -19,6 +19,7 @@ #include "rust-collect-lang-items.h" #include "optional.h" #include "rust-ast-collector.h" +#include "rust-ast-visitor.h" #include "rust-ast.h" #include "rust-attribute-values.h" #include "rust-attributes.h" @@ -100,5 +101,13 @@ CollectLangItems::visit (AST::StructStruct &item) DefaultASTVisitor::visit (item); } +void +CollectLangItems::visit (AST::EnumItem &item) +{ + maybe_add_lang_item (item); + + DefaultASTVisitor::visit (item); +} + } // namespace AST } // namespace Rust diff --git a/gcc/rust/ast/rust-collect-lang-items.h b/gcc/rust/ast/rust-collect-lang-items.h index 39cb4be..ddb34a9 100644 --- a/gcc/rust/ast/rust-collect-lang-items.h +++ b/gcc/rust/ast/rust-collect-lang-items.h @@ -49,6 +49,7 @@ public: void visit (AST::TraitItemType &item) override; void visit (AST::Function &item) override; void visit (AST::StructStruct &item) override; + void visit (AST::EnumItem &item) override; private: template <typename T> void maybe_add_lang_item (const T &item); |