From: Eric Botcazou Date: Wed, 23 Aug 2023 13:11:57 +0000 (+0200) Subject: ada: Elide the copy in extended returns for nonlimited by-reference types X-Git-Tag: basepoints/gcc-15~6440 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da4e06d476d55193dad66628160a089e5ec1e737;p=thirdparty%2Fgcc.git ada: Elide the copy in extended returns for nonlimited by-reference types gcc/ada/ * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on the simple return statement. --- diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc index 5d93060c6d85..e99fbb4eb5ed 100644 --- a/gcc/ada/gcc-interface/trans.cc +++ b/gcc/ada/gcc-interface/trans.cc @@ -8519,7 +8519,7 @@ gnat_to_gnu (Node_Id gnat_node) && ((Nkind (Parent (gnat_node)) == N_Attribute_Reference && lvalue_required_for_attribute_p (Parent (gnat_node))) || (Nkind (Parent (gnat_node)) == N_Simple_Return_Statement - && No (Storage_Pool (gnat_node))))) + && No (Storage_Pool (Parent (gnat_node)))))) ; else if (TREE_TYPE (gnu_result) != gnu_result_type)