[gcc r14-7709] gccrs: collector: Remove external container

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:55:42 GMT 2024


https://gcc.gnu.org/g:cb791a1f72ce2cba815d880883107ce26d5f8d66

commit r14-7709-gcb791a1f72ce2cba815d880883107ce26d5f8d66
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Fri Jun 23 11:44:49 2023 +0200

    gccrs: collector: Remove external container
    
    The token collector was using an external container but it was later
    revealed that this whole reuse thing was not necessary.
    
    gcc/rust/ChangeLog:
    
            * ast/rust-ast-collector.cc (TokenCollector::TokenCollector):
            Remove constructor, changing it to an implicit default
            constructor.
            * ast/rust-ast-collector.h: Change from container reference to
            direct container.
            * ast/rust-ast-dump.h: Change call to constructor.
            * expand/rust-macro-expand.h (struct MacroExpander): Likewise.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Diff:
---
 gcc/rust/ast/rust-ast-collector.cc  | 4 ----
 gcc/rust/ast/rust-ast-collector.h   | 3 +--
 gcc/rust/ast/rust-ast-dump.h        | 3 +--
 gcc/rust/expand/rust-macro-expand.h | 9 +++------
 4 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/gcc/rust/ast/rust-ast-collector.cc b/gcc/rust/ast/rust-ast-collector.cc
index f14cb355e9f..84caeb729b5 100644
--- a/gcc/rust/ast/rust-ast-collector.cc
+++ b/gcc/rust/ast/rust-ast-collector.cc
@@ -20,10 +20,6 @@
 namespace Rust {
 namespace AST {
 
-TokenCollector::TokenCollector (std::vector<TokenPtr> &container)
-  : tokens (container)
-{}
-
 std::vector<TokenPtr>
 TokenCollector::collect_tokens () const
 {
diff --git a/gcc/rust/ast/rust-ast-collector.h b/gcc/rust/ast/rust-ast-collector.h
index 1b314aca8c2..dc2840b3784 100644
--- a/gcc/rust/ast/rust-ast-collector.h
+++ b/gcc/rust/ast/rust-ast-collector.h
@@ -30,7 +30,6 @@ namespace AST {
 class TokenCollector : public ASTVisitor
 {
 public:
-  TokenCollector (std::vector<TokenPtr> &container);
   bool output_trailing_commas = false;
 
   void visit (AST::Crate &crate);
@@ -39,7 +38,7 @@ public:
   std::vector<TokenPtr> collect_tokens () const;
 
 private:
-  std::vector<TokenPtr> &tokens;
+  std::vector<TokenPtr> tokens;
 
   /**
    * Visit all items in given @collection, placing the separator in between but
diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h
index c5b4ab125db..ec72ba14c4a 100644
--- a/gcc/rust/ast/rust-ast-dump.h
+++ b/gcc/rust/ast/rust-ast-dump.h
@@ -41,8 +41,7 @@ public:
 
   template <typename T> void process (T &v)
   {
-    std::vector<TokenPtr> container;
-    TokenCollector collector (container);
+    TokenCollector collector;
     collector.visit (v);
 
     auto tokens = collector.collect_tokens ();
diff --git a/gcc/rust/expand/rust-macro-expand.h b/gcc/rust/expand/rust-macro-expand.h
index 378a7e25f50..839c543c954 100644
--- a/gcc/rust/expand/rust-macro-expand.h
+++ b/gcc/rust/expand/rust-macro-expand.h
@@ -396,8 +396,7 @@ struct MacroExpander
 	  }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);
 
@@ -428,8 +427,7 @@ struct MacroExpander
 	  }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);
 
@@ -461,8 +459,7 @@ struct MacroExpander
 	  }
       }
 
-    std::vector<TokenPtr> tokens;
-    AST::TokenCollector collector (tokens);
+    AST::TokenCollector collector;
 
     collector.visit (item);


More information about the Gcc-cvs mailing list