OSDN Git Service

* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)
commit2d28bdfd8a62cc75ced5b423e50b936b301d73a9
tree9c844bb48a22047801d660226093b217eb80a6b0
parentdacb2580bacfa07e5245f9921a1181be90068905
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181528 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c