[gcc r14-7649] gccrs: collector: Move implementation to header

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:50:31 GMT 2024


https://gcc.gnu.org/g:0af8582fc71521172e745b8f15b2dc9b83237ad4

commit r14-7649-g0af8582fc71521172e745b8f15b2dc9b83237ad4
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Tue Jun 6 14:57:14 2023 +0200

    gccrs: collector: Move implementation to header
    
    Move implementation from cc file to header, in order to allow call from
    other headers and prevent linker errors.
    
    gcc/rust/ChangeLog:
    
            * ast/rust-ast-collector.cc (TokenCollector::visit): Move
            implementation from here...
            * ast/rust-ast-collector.h: ... to here.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Diff:
---
 gcc/rust/ast/rust-ast-collector.cc | 7 -------
 gcc/rust/ast/rust-ast-collector.h  | 5 ++++-
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/gcc/rust/ast/rust-ast-collector.cc b/gcc/rust/ast/rust-ast-collector.cc
index a09869b7e6d..639200aca79 100644
--- a/gcc/rust/ast/rust-ast-collector.cc
+++ b/gcc/rust/ast/rust-ast-collector.cc
@@ -43,13 +43,6 @@ TokenCollector::visit (AST::Item &item)
   item.accept_vis (*this);
 }
 
-template <typename T>
-void
-TokenCollector::visit (std::unique_ptr<T> &node)
-{
-  node->accept_vis (*this);
-}
-
 template <typename T>
 void
 TokenCollector::visit (T &node)
diff --git a/gcc/rust/ast/rust-ast-collector.h b/gcc/rust/ast/rust-ast-collector.h
index e1857977a03..ae4f9fd9d13 100644
--- a/gcc/rust/ast/rust-ast-collector.h
+++ b/gcc/rust/ast/rust-ast-collector.h
@@ -47,7 +47,10 @@ private:
    * types implementing `accept_vis` method and for classes for which the
    * `visit` method is directly implemented.
    */
-  template <typename T> void visit (std::unique_ptr<T> &node);
+  template <typename T> void visit (std::unique_ptr<T> &node)
+  {
+    node->accept_vis (*this);
+  }
 
   /**
    * @see visit<std::unique_ptr<T>>


More information about the Gcc-cvs mailing list