aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2023-05-19 11:21:27 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:37:21 +0100
commit1af4d0e6078e048b88aa5e1547cf1e097952b621 (patch)
tree1e9195733af8498606b2319b4d76c0d638f9867b
parent7e96bfe42867757c35069f2c18abc92c41af0e6b (diff)
downloadgcc-1af4d0e6078e048b88aa5e1547cf1e097952b621.zip
gcc-1af4d0e6078e048b88aa5e1547cf1e097952b621.tar.gz
gcc-1af4d0e6078e048b88aa5e1547cf1e097952b621.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>
-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 2514a2a..259b2d4 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
+}