From bcc66efaf14af971c080b6128ea30d51c2b41516 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Fri, 3 May 2024 20:34:58 +0200 Subject: [PATCH] gccrs: Change lookup_hir_param return type with optional Wrap the function's return type within an optional to differentiate between a null ppointer and a missing value. gcc/rust/ChangeLog: * util/rust-hir-map.cc (Mappings::insert_hir_param): Change call site to accomodate new return type. (Mappings::lookup_hir_param): Change the function's return type. * util/rust-hir-map.h: Updat ethe function's prototype. Signed-off-by: Pierre-Emmanuel Patry --- gcc/rust/util/rust-hir-map.cc | 6 +++--- gcc/rust/util/rust-hir-map.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc index 025b3121b27..e2c3b98eff5 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -632,18 +632,18 @@ void Mappings::insert_hir_param (HIR::FunctionParam *param) { auto id = param->get_mappings ().get_hirid (); - rust_assert (lookup_hir_param (id) == nullptr); + rust_assert (!lookup_hir_param (id)); hirParamMappings[id] = param; insert_node_to_hir (param->get_mappings ().get_nodeid (), id); } -HIR::FunctionParam * +tl::optional Mappings::lookup_hir_param (HirId id) { auto it = hirParamMappings.find (id); if (it == hirParamMappings.end ()) - return nullptr; + return tl::nullopt; return it->second; } diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h index f6db83d6e11..6f97dcb6bc6 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -161,7 +161,7 @@ public: tl::optional lookup_hir_stmt (HirId id); void insert_hir_param (HIR::FunctionParam *type); - HIR::FunctionParam *lookup_hir_param (HirId id); + tl::optional lookup_hir_param (HirId id); void insert_hir_self_param (HIR::SelfParam *type); HIR::SelfParam *lookup_hir_self_param (HirId id); -- 2.47.2