[gcc r14-7644] gccrs: Handle crate metavariable
Arthur Cohen
cohenarthur@gcc.gnu.org
Tue Jan 16 17:50:05 GMT 2024
https://gcc.gnu.org/g:b14efcea1f43289aec4dc5b63752111bfc34c911
commit r14-7644-gb14efcea1f43289aec4dc5b63752111bfc34c911
Author: Owen Avery <powerboat9.gamer@gmail.com>
Date: Sat Jun 3 19:57:33 2023 -0400
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>
Diff:
---
gcc/rust/expand/rust-macro-substitute-ctx.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/rust/expand/rust-macro-substitute-ctx.cc b/gcc/rust/expand/rust-macro-substitute-ctx.cc
index ed7cf1b2ab5..60e9b63de94 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
{
More information about the Gcc-cvs
mailing list