aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2025-01-10 23:55:29 -0500
committerPhilip Herron <philip.herron@embecosm.com>2025-01-13 13:13:46 +0000
commitc6b3dab560c3ed06eb74361848c98fbb18ad3004 (patch)
treefe598af2294c571c2f91cfa9321c45f2be03594a
parent0a935444fbf9e99c7a3eff026e2a7ab910e77151 (diff)
downloadgcc-c6b3dab560c3ed06eb74361848c98fbb18ad3004.zip
gcc-c6b3dab560c3ed06eb74361848c98fbb18ad3004.tar.gz
gcc-c6b3dab560c3ed06eb74361848c98fbb18ad3004.tar.bz2
nr2.0: Early resolve pending eager macro invocations
gcc/rust/ChangeLog: * resolve/rust-early-name-resolver-2.0.cc (Early::visit): Resolve the pending eager invocations inside builtin macro invocations. gcc/testsuite/ChangeLog: * rust/compile/nr2/exclude: Remove entries. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
-rw-r--r--gcc/rust/resolve/rust-early-name-resolver-2.0.cc4
-rw-r--r--gcc/testsuite/rust/compile/nr2/exclude5
2 files changed, 4 insertions, 5 deletions
diff --git a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
index 402af27..ae02a17 100644
--- a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc
@@ -238,6 +238,10 @@ Early::visit (AST::MacroInvocation &invoc)
{
auto path = invoc.get_invoc_data ().get_path ();
+ if (invoc.get_kind () == AST::MacroInvocation::InvocKind::Builtin)
+ for (auto &pending_invoc : invoc.get_pending_eager_invocations ())
+ pending_invoc->accept_vis (*this);
+
// When a macro is invoked by an unqualified identifier (not part of a
// multi-part path), it is first looked up in textual scoping. If this does
// not yield any results, then it is looked up in path-based scoping. If the
diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude
index 9b490c1..0f482df 100644
--- a/gcc/testsuite/rust/compile/nr2/exclude
+++ b/gcc/testsuite/rust/compile/nr2/exclude
@@ -1,11 +1,6 @@
bounds1.rs
break-rust2.rs
break-rust3.rs
-macros/builtin/eager1.rs
-macros/builtin/eager2.rs
-macros/builtin/recurse2.rs
-macros/builtin/include3.rs
-macros/builtin/include4.rs
canonical_paths1.rs
cfg1.rs
cfg3.rs