https://gcc.gnu.org/g:2fc05741bbf83d04260308c17320eef5d9e459db
commit r15-8126-g2fc05741bbf83d04260308c17320eef5d9e459db Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Date: Fri May 3 19:49:44 2024 +0200 gccrs: Change lookup_hir_path_expr_seg return type Make the function's return type optional in order to differentiate between null pointers and missing value. gcc/rust/ChangeLog: * util/rust-hir-map.cc (Mappings::insert_hir_path_expr_seg): Change call site to accomodate the new return type. (Mappings::lookup_hir_path_expr_seg): Wrap the function's return type with an optional. * util/rust-hir-map.h: Update the function's prototype. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Diff: --- 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 80786490f82b..c96743a54f88 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -550,19 +550,19 @@ void Mappings::insert_hir_path_expr_seg (HIR::PathExprSegment *expr) { auto id = expr->get_mappings ().get_hirid (); - rust_assert (lookup_hir_path_expr_seg (id) == nullptr); + rust_assert (!lookup_hir_path_expr_seg (id)); hirPathSegMappings[id] = expr; insert_node_to_hir (expr->get_mappings ().get_nodeid (), id); insert_location (id, expr->get_locus ()); } -HIR::PathExprSegment * +tl::optional<HIR::PathExprSegment *> Mappings::lookup_hir_path_expr_seg (HirId id) { auto it = hirPathSegMappings.find (id); if (it == hirPathSegMappings.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 8d0f652a3d3c..c7d0838d4008 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -149,7 +149,7 @@ public: tl::optional<HIR::Expr *> lookup_hir_expr (HirId id); void insert_hir_path_expr_seg (HIR::PathExprSegment *expr); - HIR::PathExprSegment *lookup_hir_path_expr_seg (HirId id); + tl::optional<HIR::PathExprSegment *> lookup_hir_path_expr_seg (HirId id); void insert_hir_generic_param (HIR::GenericParam *expr); HIR::GenericParam *lookup_hir_generic_param (HirId id);