From: Pierre-Emmanuel Patry Date: Tue, 29 Aug 2023 13:02:21 +0000 (+0200) Subject: gccrs: Change proc macro definition lookup to optionals X-Git-Tag: basepoints/gcc-15~2144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7167ed8d86cc103ea85c03849dcd76933edd7972;p=thirdparty%2Fgcc.git gccrs: Change proc macro definition lookup to optionals Continue changing the api to use optionals instead of bools and double pointers. gcc/rust/ChangeLog: * util/rust-hir-map.cc (Mappings::lookup_derive_proc_macro_def): Update function to accomodate new signature. (Mappings::lookup_bang_proc_macro_def): Likewise. (Mappings::lookup_attribute_proc_macro_def): Likewise. * util/rust-hir-map.h: Update function signatures. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc index 6acec3dbe133..67d589cc2475 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -1029,37 +1029,34 @@ Mappings::insert_attribute_proc_macro_def (NodeId id, AttributeProcMacro macro) procmacroAttributeMappings[id] = macro; } -bool -Mappings::lookup_derive_proc_macro_def (NodeId id, CustomDeriveProcMacro ¯o) +tl::optional +Mappings::lookup_derive_proc_macro_def (NodeId id) { auto it = procmacroDeriveMappings.find (id); if (it == procmacroDeriveMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } -bool -Mappings::lookup_bang_proc_macro_def (NodeId id, BangProcMacro ¯o) +tl::optional +Mappings::lookup_bang_proc_macro_def (NodeId id) { auto it = procmacroBangMappings.find (id); if (it == procmacroBangMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } -bool -Mappings::lookup_attribute_proc_macro_def (NodeId id, AttributeProcMacro ¯o) +tl::optional +Mappings::lookup_attribute_proc_macro_def (NodeId id) { auto it = procmacroAttributeMappings.find (id); if (it == procmacroAttributeMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } void diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h index 177bcbacfc5e..85da28026407 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -306,9 +306,11 @@ public: void insert_bang_proc_macro_def (NodeId id, BangProcMacro macro); void insert_attribute_proc_macro_def (NodeId id, AttributeProcMacro macro); - bool lookup_derive_proc_macro_def (NodeId id, CustomDeriveProcMacro ¯o); - bool lookup_bang_proc_macro_def (NodeId id, BangProcMacro ¯o); - bool lookup_attribute_proc_macro_def (NodeId id, AttributeProcMacro ¯o); + tl::optional + lookup_derive_proc_macro_def (NodeId id); + tl::optional lookup_bang_proc_macro_def (NodeId id); + tl::optional + lookup_attribute_proc_macro_def (NodeId id); tl::optional lookup_derive_proc_macro_invocation (AST::SimplePath &invoc);