aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-06-03 19:57:33 -0400
committerCohenArthur <arthur.cohen@embecosm.com>2023-06-06 14:13:19 +0000
commitd5fddb55d343362a7fe8e059e5d7d14e4b1f8923 (patch)
tree62317535831f1aafd1b2e4b3d532561111eac890 /gcc
parent333e7a2b04e3f2de99d2103a98a28fbb28d37ef7 (diff)
downloadgcc-d5fddb55d343362a7fe8e059e5d7d14e4b1f8923.zip
gcc-d5fddb55d343362a7fe8e059e5d7d14e4b1f8923.tar.gz
gcc-d5fddb55d343362a7fe8e059e5d7d14e4b1f8923.tar.bz2
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')
-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
{