]> gcc.gnu.org Git - gcc.git/commitdiff
gccrs: Fix macro resolutions in middle of multiple nested macro_use modules
authorMatthew Jasper <mjjasper1@gmail.com>
Fri, 19 May 2023 10:21:27 +0000 (11:21 +0100)
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::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>
gcc/rust/resolve/rust-early-name-resolver.cc
gcc/testsuite/rust/compile/nested_macro_use3.rs [new file with mode: 0644]

index 2514a2ac3d370c7a1d9211b607da1b4da4cca809..259b2d41fad670d109a70970b67b7fef91e1b459 100644 (file)
@@ -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 (file)
index 0000000..7518333
--- /dev/null
@@ -0,0 +1,16 @@
+#[macro_use]
+mod num {
+    #[macro_use]
+    mod macros {
+        macro_rules! a {
+            () => ()
+        }
+    }
+
+    a!();
+}
+
+fn main() -> i32 { 
+    a!();
+    0
+}
This page took 0.06631 seconds and 5 git commands to generate.