aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-11-07 13:02:20 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 19:13:14 +0100
commit4011a8b5a16abca411b74aa0fd131c3dc0b3771a (patch)
tree34c0b82248a8aad47b79e890489921c6195c0f64
parent32f16cac2d373892129585e048fdc861d0dface9 (diff)
downloadgcc-4011a8b5a16abca411b74aa0fd131c3dc0b3771a.zip
gcc-4011a8b5a16abca411b74aa0fd131c3dc0b3771a.tar.gz
gcc-4011a8b5a16abca411b74aa0fd131c3dc0b3771a.tar.bz2
gccrs: Move default visitor templates to header
Move default ast visitor template implementation to headers in order to match the codebase and avoid link errors. gcc/rust/ChangeLog: * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Move from here... * ast/rust-ast-visitor.h: ... to here. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--gcc/rust/ast/rust-ast-visitor.cc14
-rw-r--r--gcc/rust/ast/rust-ast-visitor.h7
2 files changed, 5 insertions, 16 deletions
diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc
index d839582..4ec5c7c 100644
--- a/gcc/rust/ast/rust-ast-visitor.cc
+++ b/gcc/rust/ast/rust-ast-visitor.cc
@@ -30,20 +30,6 @@
namespace Rust {
namespace AST {
-template <typename T>
-void
-DefaultASTVisitor::visit (T &node)
-{
- node.accept_vis (*this);
-}
-
-template <typename T>
-void
-DefaultASTVisitor::visit (std::unique_ptr<T> &node)
-{
- node->accept_vis (*this);
-}
-
void
DefaultASTVisitor::visit (AST::Crate &crate)
{
diff --git a/gcc/rust/ast/rust-ast-visitor.h b/gcc/rust/ast/rust-ast-visitor.h
index e5be441..43cd750 100644
--- a/gcc/rust/ast/rust-ast-visitor.h
+++ b/gcc/rust/ast/rust-ast-visitor.h
@@ -395,9 +395,12 @@ protected:
virtual void visit (AST::FunctionParam &param) override;
virtual void visit (AST::VariadicParam &param) override;
- template <typename T> void visit (T &node);
+ template <typename T> void visit (T &node) { node.accept_vis (*this); }
- template <typename T> void visit (std::unique_ptr<T> &node);
+ template <typename T> void visit (std::unique_ptr<T> &node)
+ {
+ node->accept_vis (*this);
+ }
virtual void visit (AST::GenericArgsBinding &binding);
virtual void visit (AST::PathExprSegment &segment);