aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/Make-lang.in
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-05-25 14:18:39 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:37:23 +0100
commit0096df08e0d792880dbbb37dfb24f928183bab9c (patch)
tree6fcde86eb5727d675986d4dd801424becea5a2e3 /gcc/rust/Make-lang.in
parent7d9b2a8607f1efda97be89917b36b4cd467904f5 (diff)
downloadgcc-0096df08e0d792880dbbb37dfb24f928183bab9c.zip
gcc-0096df08e0d792880dbbb37dfb24f928183bab9c.tar.gz
gcc-0096df08e0d792880dbbb37dfb24f928183bab9c.tar.bz2
gccrs: expansion: Add base for deriving builtin macros (Clone, Copy...)
gcc/rust/ChangeLog: * Make-lang.in: Add new object files to Makefile. * expand/rust-expand-visitor.cc (is_derive): Move function. (is_builtin): Likewise. (get_traits_to_derive): New function. (derive_item): Likewise. (ExpandVisitor::visit): Visit item/statements containers. (ExpandVisitor::visit_outer_attrs): Take a reference on the attribute instead of a copy. (ExpandVisitor::is_derive): Deleted function. (ExpandVisitor::is_builtin): Likewise. * expand/rust-expand-visitor.h (RUST_EXPAND_VISITOR_H): Add missing #ifdef guards. (is_derive): Declare function. (is_builtin): Likewise. * expand/rust-macro-builtins.cc (builtin_macro_from_string): Use new MacroBuiltin::builtins map. (make_macro_path_str): Likewise. * expand/rust-macro-builtins.h (enum class): Add builtin derive macros. * expand/rust-derive-clone.cc: New file. * expand/rust-derive-clone.h: New file. * expand/rust-derive.cc: New file. * expand/rust-derive.h: New file. * util/rust-hir-map.cc (Mappings::insert_macro_def): Fix logic for setting builtin macro transcribers. gcc/testsuite/ChangeLog: * rust/compile/macro43.rs: Fix test with new derive macros. * rust/compile/derive_macro1.rs: New test. * rust/compile/derive_macro3.rs: New test. * rust/execute/torture/derive_macro1.rs: New test. * rust/execute/torture/derive_macro3.rs: New test.
Diffstat (limited to 'gcc/rust/Make-lang.in')
-rw-r--r--gcc/rust/Make-lang.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rust/Make-lang.in b/gcc/rust/Make-lang.in
index 31c11b8..1d72c86 100644
--- a/gcc/rust/Make-lang.in
+++ b/gcc/rust/Make-lang.in
@@ -87,6 +87,9 @@ GRS_OBJS = \
rust/rust-macro-expand.o \
rust/rust-cfg-strip.o \
rust/rust-expand-visitor.o \
+ rust/rust-ast-builder.o \
+ rust/rust-derive.o \
+ rust/rust-derive-clone.o \
rust/rust-macro-invoc-lexer.o \
rust/rust-macro-substitute-ctx.o \
rust/rust-macro-builtins.o \