]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: enr: Cleanup #[macro_use] accumulation
authorArthur Cohen <arthur.cohen@embecosm.com>
Mon, 22 May 2023 09:22:45 +0000 (11:22 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:37:21 +0000 (18:37 +0100)
gcc/rust/ChangeLog:

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

gcc/rust/resolve/rust-early-name-resolver.cc

index 259b2d41fad670d109a70970b67b7fef91e1b459..17ec10cdddf3db78222ef5f321dc561a46de7b5e 100644 (file)
@@ -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));
       }
   });