]> git.ipfire.org Git - thirdparty/gcc.git/commit
trans.c (struct language_function): Add GNAT_RET.
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)
commit088b91c76fe3051e27fc07243e51dd79b4c7547a
tree9c844bb48a22047801d660226093b217eb80a6b0
parent0d24bf7601974f373cce377a50132c485d488e18
trans.c (struct language_function): Add GNAT_RET.

* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
(f_gnat_ret): New macro.
(struct nrv_data): Add GNAT_RET.
(finalize_nrv_unc_r): New helper function.
(finalize_nrv): Add GNAT_RET parameter.  Copy it into DATA.  If the
function returns unconstrained, use finalize_nrv_unc_r as callback.
(return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
RET_OBJ is non-null.
(Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
(gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
if optimization is enabled, record candidates for the Named Return
Value optimization.

From-SVN: r181528
gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c