aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-05-22 11:22:45 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2023-05-24 09:33:42 +0000
commit058682f736b6a0936480bbefb35c0fe0e97a00f5 (patch)
treea88782ae29f84781e14bd98f4a87905f98a09dd3 /gcc
parent6521333e402a2f71e34591666ae697cab7af7316 (diff)
downloadgcc-058682f736b6a0936480bbefb35c0fe0e97a00f5.zip
gcc-058682f736b6a0936480bbefb35c0fe0e97a00f5.tar.gz
gcc-058682f736b6a0936480bbefb35c0fe0e97a00f5.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/resolve/rust-early-name-resolver.cc38
1 files 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 85fd71e..f6ec8c7 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));
}
});