]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Elide the copy in extended returns for nonlimited by-reference types
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 23 Aug 2023 13:11:57 +0000 (15:11 +0200)
committerEric Botcazou <ebotcazou@adacore.com>
Wed, 27 Sep 2023 08:16:29 +0000 (10:16 +0200)
gcc/ada/

* gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on
the simple return statement.

gcc/ada/gcc-interface/trans.cc

index 54e0e8a7fbd9c77674b20111e347330df722797e..0c7fde754ea6f9db08e0cecd0691eee55576606c 100644 (file)
@@ -8546,7 +8546,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)