aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-06-03 19:57:33 -0400
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:46:24 +0100
commitb14efcea1f43289aec4dc5b63752111bfc34c911 (patch)
tree95d4918060e9cd7f83243bb76103e21cb62de092 /gcc/rust
parentb436709f4b1b0d75fa0b5f1c6c6b22f397a767c9 (diff)
downloadgcc-b14efcea1f43289aec4dc5b63752111bfc34c911.zip
gcc-b14efcea1f43289aec4dc5b63752111bfc34c911.tar.gz
gcc-b14efcea1f43289aec4dc5b63752111bfc34c911.tar.bz2
gccrs: Handle crate metavariable
gcc/rust/ChangeLog: * expand/rust-macro-substitute-ctx.cc (SubstituteCtx::substitute_metavar): Substitute crate metavar. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/expand/rust-macro-substitute-ctx.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/rust/expand/rust-macro-substitute-ctx.cc b/gcc/rust/expand/rust-macro-substitute-ctx.cc
index ed7cf1b..60e9b63 100644
--- a/gcc/rust/expand/rust-macro-substitute-ctx.cc
+++ b/gcc/rust/expand/rust-macro-substitute-ctx.cc
@@ -31,7 +31,13 @@ SubstituteCtx::substitute_metavar (
if (it == fragments.end ())
{
// fail to substitute
- return false;
+
+ // HACK: substitute ($ crate) => (crate)
+ if (metavar->get_id () != CRATE)
+ return false;
+
+ expanded.push_back (metavar->clone_token ());
+ return true;
}
else
{