From 19ed0a94fa485fbe9c388713c4cdb2bf633a1b86 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Fri, 3 May 2024 20:55:01 +0200 Subject: [PATCH] gccrs: Change lookup_hir_pattern return type Wrap the function's return type within an optional in order to differentiate between a null pointer and a missing value. gcc/rust/ChangeLog: * util/rust-hir-map.cc (Mappings::insert_hir_pattern): Change call site in order to accomodate new return type. (Mappings::lookup_hir_pattern): Change the function's return type. * util/rust-hir-map.h: Update the 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 d1f55a372ac..2ac614141a2 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -692,18 +692,18 @@ void Mappings::insert_hir_pattern (HIR::Pattern *pattern) { auto id = pattern->get_mappings ().get_hirid (); - rust_assert (lookup_hir_pattern (id) == nullptr); + rust_assert (!lookup_hir_pattern (id)); hirPatternMappings[id] = pattern; insert_node_to_hir (pattern->get_mappings ().get_nodeid (), id); } -HIR::Pattern * +tl::optional Mappings::lookup_hir_pattern (HirId id) { auto it = hirPatternMappings.find (id); if (it == hirPatternMappings.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 740a8e6d499..c556d766b35 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -170,7 +170,7 @@ public: tl::optional lookup_hir_struct_field (HirId id); void insert_hir_pattern (HIR::Pattern *pattern); - HIR::Pattern *lookup_hir_pattern (HirId id); + tl::optional lookup_hir_pattern (HirId id); void walk_local_defids_for_crate (CrateNum crateNum, std::function cb); -- 2.47.2