[gcc r14-7614] gccrs: enr: Cleanup #[macro_use] accumulation

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:45:20 GMT 2024


https://gcc.gnu.org/g:917914509f467c0f333575914f5fbb9dc78a39f7

commit r14-7614-g917914509f467c0f333575914f5fbb9dc78a39f7
Author: Arthur Cohen <arthur.cohen@embecosm.com>
Date:   Mon May 22 11:22:45 2023 +0200

    gccrs: enr: Cleanup #[macro_use] accumulation
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-early-name-resolver.cc (EarlyNameResolver::go): Cleanup
            order of calls when accumulating #[macro_use] macros.
            (EarlyNameResolver::visit): Likewise.

Diff:
---
 gcc/rust/resolve/rust-early-name-resolver.cc | 38 ++++++++++++----------------
 1 file changed, 16 insertions(+), 22 deletions(-)

diff --git a/gcc/rust/resolve/rust-early-name-resolver.cc b/gcc/rust/resolve/rust-early-name-resolver.cc
index 259b2d41fad..17ec10cdddf 100644
--- a/gcc/rust/resolve/rust-early-name-resolver.cc
+++ b/gcc/rust/resolve/rust-early-name-resolver.cc
@@ -85,18 +85,15 @@ EarlyNameResolver::go (AST::Crate &crate)
   scoped (crate.get_node_id (), [&items, &new_items, this] {
     for (auto &&item : items)
       {
+	auto new_macros = std::vector<std::unique_ptr<AST::Item>> ();
+
 	if (item->get_ast_kind () == AST::Kind::MODULE)
-	  {
-	    auto macros = accumulate_escaped_macros (
-	      *static_cast<AST::Module *> (item.get ()));
-	    new_items.emplace_back (std::move (item));
-	    std::move (macros.begin (), macros.end (),
-		       std::back_inserter (new_items));
-	  }
-	else
-	  {
-	    new_items.emplace_back (std::move (item));
-	  }
+	  new_macros = accumulate_escaped_macros (
+	    *static_cast<AST::Module *> (item.get ()));
+
+	new_items.emplace_back (std::move (item));
+	std::move (new_macros.begin (), new_macros.end (),
+		   std::back_inserter (new_items));
       }
   });
 
@@ -636,18 +633,15 @@ EarlyNameResolver::visit (AST::Module &module)
   scoped (module.get_node_id (), [&items, &new_items, this] {
     for (auto &&item : items)
       {
+	auto new_macros = std::vector<std::unique_ptr<AST::Item>> ();
+
 	if (item->get_ast_kind () == AST::Kind::MODULE)
-	  {
-	    auto macros = accumulate_escaped_macros (
-	      *static_cast<AST::Module *> (item.get ()));
-	    new_items.emplace_back (std::move (item));
-	    std::move (macros.begin (), macros.end (),
-		       std::back_inserter (new_items));
-	  }
-	else
-	  {
-	    new_items.emplace_back (std::move (item));
-	  }
+	  new_macros = accumulate_escaped_macros (
+	    *static_cast<AST::Module *> (item.get ()));
+
+	new_items.emplace_back (std::move (item));
+	std::move (new_macros.begin (), new_macros.end (),
+		   std::back_inserter (new_items));
       }
   });


More information about the Gcc-cvs mailing list