aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2023-05-19 11:21:27 +0100
committerCohenArthur <arthur.cohen@embecosm.com>2023-05-22 10:10:38 +0000
commit6521333e402a2f71e34591666ae697cab7af7316 (patch)
tree5d12dc3d6e90c1c9ffa2a5e7b6bb2f4e31a604db /gcc
parent1666b77ead3d1c468aca01def5559b8b6d48bf84 (diff)
downloadgcc-6521333e402a2f71e34591666ae697cab7af7316.zip
gcc-6521333e402a2f71e34591666ae697cab7af7316.tar.gz
gcc-6521333e402a2f71e34591666ae697cab7af7316.tar.bz2
gccrs: Fix macro resolutions in middle of multiple nested macro_use modules
gcc/rust/ChangeLog: * resolve/rust-early-name-resolver.cc (EarlyNameResolver::accumulate_escaped_macros): Remove unnecessary visit. gcc/testsuite/ChangeLog: * rust/compile/nested_macro_use3.rs: New test. Signed-off-by: Matthew Jasper <mjjasper1@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/resolve/rust-early-name-resolver.cc2
-rw-r--r--gcc/testsuite/rust/compile/nested_macro_use3.rs16
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/rust/resolve/rust-early-name-resolver.cc b/gcc/rust/resolve/rust-early-name-resolver.cc
index 00f661f..85fd71e 100644
--- a/gcc/rust/resolve/rust-early-name-resolver.cc
+++ b/gcc/rust/resolve/rust-early-name-resolver.cc
@@ -63,8 +63,6 @@ EarlyNameResolver::accumulate_escaped_macros (AST::Module &module)
continue;
}
- item->accept_vis (*this);
-
if (item->get_ast_kind () == AST::Kind::MACRO_RULES_DEFINITION)
escaped_macros.emplace_back (item->clone_item ());
}
diff --git a/gcc/testsuite/rust/compile/nested_macro_use3.rs b/gcc/testsuite/rust/compile/nested_macro_use3.rs
new file mode 100644
index 0000000..7518333
--- /dev/null
+++ b/gcc/testsuite/rust/compile/nested_macro_use3.rs
@@ -0,0 +1,16 @@
+#[macro_use]
+mod num {
+ #[macro_use]
+ mod macros {
+ macro_rules! a {
+ () => ()
+ }
+ }
+
+ a!();
+}
+
+fn main() -> i32 {
+ a!();
+ 0
+}