2015-03-04 Robert Dewar <dewar@adacore.com>
commit603fc4315805694a91413fddc2fbd059e618d159
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Mar 2015 10:27:59 +0000 (4 10:27 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Mar 2015 10:27:59 +0000 (4 10:27 +0000)
tree92a577a1c315481ff12ed533a235c47020eb282c
parent695d9a0c96c3bf8253072e9de8b52c6a5c2cbdd0
2015-03-04  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
(Next_Formal): Don't return ARECnF formal.
(Last_Formal): Don't consider ARECnF formal.
(Next_Formal_With_Extras): Do consider ARECnF formal.
* einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
* exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.

2015-03-04  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Simple_Function_Return): When the returned
object is a class-wide interface object and we generate the
accessibility described in RM 6.5(8/3) then displace the pointer
to the object to reference the base of the object (to get access
to the TSD of the object).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221182 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/einfo.adb
gcc/ada/einfo.ads
gcc/ada/exp_ch6.adb
gcc/ada/exp_unst.adb