aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2024-12-23 10:27:13 +0000
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-24 13:06:54 +0100
commitbff688808d263270ece98848ae1f4184775b041c (patch)
treec433ba9ea466829f4873b99a28c5bd3ab4eabc53
parentaa0255591592df1a94f1956737f30b434962dc99 (diff)
downloadgcc-bff688808d263270ece98848ae1f4184775b041c.zip
gcc-bff688808d263270ece98848ae1f4184775b041c.tar.gz
gcc-bff688808d263270ece98848ae1f4184775b041c.tar.bz2
gccrs: 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.
-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);