diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-06-03 19:57:33 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:46:24 +0100 |
commit | b14efcea1f43289aec4dc5b63752111bfc34c911 (patch) | |
tree | 95d4918060e9cd7f83243bb76103e21cb62de092 | |
parent | b436709f4b1b0d75fa0b5f1c6c6b22f397a767c9 (diff) | |
download | gcc-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>
-rw-r--r-- | gcc/rust/expand/rust-macro-substitute-ctx.cc | 8 |
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 { |