From 94e53f8e55e93da8db3d948c3f16d23b7c4ba7a6 Mon Sep 17 00:00:00 2001 From: Philip Herron Date: Wed, 3 Aug 2022 11:54:54 +0100 Subject: Refactor indirect_expression from the gcc-backend wrapper This brings out the indirect expression out of our gcc wrapper, it also just simplifies down to the normal build_indirect_expr_loc calls. Which does not require specifiying the type since we can reuse TREE_TYPE. This also simplifies the address_expression to just address_expr_with_loc and grabs the type from TREE_TYPE as well. --- gcc/rust/backend/rust-compile-extern.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'gcc/rust/backend/rust-compile-extern.h') diff --git a/gcc/rust/backend/rust-compile-extern.h b/gcc/rust/backend/rust-compile-extern.h index 4355e4a..45a507e 100644 --- a/gcc/rust/backend/rust-compile-extern.h +++ b/gcc/rust/backend/rust-compile-extern.h @@ -110,10 +110,7 @@ public: if (ctx->lookup_function_decl (fntype->get_ty_ref (), &lookup, fntype->get_id (), fntype)) { - reference - = address_expression (lookup, build_pointer_type (TREE_TYPE (lookup)), - ref_locus); - + reference = address_expression (lookup, ref_locus); return; } @@ -155,9 +152,7 @@ public: ctx->insert_function_decl (fntype, fndecl); - reference - = address_expression (fndecl, build_pointer_type (TREE_TYPE (fndecl)), - ref_locus); + reference = address_expression (fndecl, ref_locus); } private: -- cgit v1.1