[Ada] Avoid copy operation for returns involving function calls
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 12 Apr 2022 21:34:48 +0000 (23:34 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 19 May 2022 14:05:33 +0000 (14:05 +0000)
commit9aa9ba95ea3d4800974135da85fd4d9cd310b69e
treeeba33c668f8d7fc1dd87ab2a9d8e80c1c1cd40b7
parente4c84b82c5f903de6911157281a837481bca780e
[Ada] Avoid copy operation for returns involving function calls

gcc/ada/

* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
a constant related to a return in a function specially.
* gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
if the target is a return object.
(gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
to a return in a function specially.
gcc/ada/gcc-interface/decl.cc
gcc/ada/gcc-interface/trans.cc