]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Change proc macro entrypoint
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 4 Oct 2023 10:01:44 +0000 (12:01 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 18:09:32 +0000 (19:09 +0100)
commit9e30e140bea608267bfe74f80fbf59989e6877b4
treec57180197aee22c3ab6273c2c3feb13f88d4b7e9
parent150403984d818895e40629ea7c5369f32f96fc1c
gccrs: Change proc macro entrypoint

Change proc macro entrypoint from a fixed constant declaration to a
proper generation from the stable crate id. Although the stable crate id
is not in use yet, the mechanism to handle it is.

gcc/rust/ChangeLog:

* expand/rust-proc-macro.cc (CustomDeriveProcMacro::CustomDeriveProcMacro):
Remove constant string declaration.
(load_macros_array): Add call to the new generation function.
(generate_proc_macro_decls_symbol): Add a new function to generate the
entrypoint symbol name from the stable crate id.
(PROC_MACRO_DECLS_FMT_ARGS):
New macro to keep formats arguments in sync between each call.
* expand/rust-proc-macro.h (generate_proc_macro_decls_symbol): Add
function prototype.
* rust-system.h: Include <iomanip>.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/expand/rust-proc-macro.cc
gcc/rust/expand/rust-proc-macro.h
gcc/rust/rust-system.h