[COMMITTED] ada: Elide the copy in extended returns for nonlimited by-reference types

Message ID 20230905110840.563652-1-poulhies@adacore.com
State Unresolved
Headers
Series [COMMITTED] ada: Elide the copy in extended returns for nonlimited by-reference types |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Marc Poulhiès Sept. 5, 2023, 11:08 a.m. UTC
  From: Eric Botcazou <ebotcazou@adacore.com>

gcc/ada/

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

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/gcc-interface/trans.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc
index 5d93060c6d8..e99fbb4eb5e 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)