diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-11-07 13:02:20 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 19:13:14 +0100 |
commit | 4011a8b5a16abca411b74aa0fd131c3dc0b3771a (patch) | |
tree | 34c0b82248a8aad47b79e890489921c6195c0f64 | |
parent | 32f16cac2d373892129585e048fdc861d0dface9 (diff) | |
download | gcc-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.cc | 14 | ||||
-rw-r--r-- | gcc/rust/ast/rust-ast-visitor.h | 7 |
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 ¶m) override; virtual void visit (AST::VariadicParam ¶m) 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); |