aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2024-12-23 10:27:13 +0000
committerCohenArthur <arthur.cohen@embecosm.com>2025-01-28 17:35:37 +0000
commit33d901d12755e16ee70ace5c9afc07e9aac0c4af (patch)
tree83a789cd0116cbffa4a74a1b82d5405282df1c80 /gcc
parent60e0d0453fbddef7cf8495f896f9ac189f4d7e17 (diff)
downloadgcc-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.cc9
-rw-r--r--gcc/rust/ast/rust-collect-lang-items.h1
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);