diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2025-01-10 23:55:29 -0500 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2025-01-13 13:13:46 +0000 |
commit | c6b3dab560c3ed06eb74361848c98fbb18ad3004 (patch) | |
tree | fe598af2294c571c2f91cfa9321c45f2be03594a | |
parent | 0a935444fbf9e99c7a3eff026e2a7ab910e77151 (diff) | |
download | gcc-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.cc | 4 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/nr2/exclude | 5 |
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 |