]> git.ipfire.org Git - thirdparty/gcc.git/commit
exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to Build_Finalization_Master...
authorHristian Kirtchev <kirtchev@adacore.com>
Tue, 30 Aug 2011 13:28:16 +0000 (13:28 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 30 Aug 2011 13:28:16 +0000 (15:28 +0200)
commit3647ca26874c7f8814049a5efca277354ef0e3e7
tree485a52093002a07b2af758d81496537165510170
parent6d4e4fbcd2f5c5a73d263c4f45b0438d7dec9492
exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to Build_Finalization_Master by supplying an insertion node...

2011-08-30  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
Build_Finalization_Master by supplying an insertion node and enclosing
scope. In its old version, the call did not generate a finalization
master.
(Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
recognize anonymous access-to-controlled components. Rewrite the
machinery which creates finalization masters to service anonymous
access-to-controlled components of a record type. In its current state,
only one heterogeneous master is necessary to handle multiple anonymous
components.
(Freeze_Type): Comment reformatting.
* rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
RE_Unit_Table.
* s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
associates TSS primitive Finalize_Address with either the master itself
or with the internal hash table depending on the mode of operation of
the master.

From-SVN: r178301
gcc/ada/ChangeLog
gcc/ada/exp_ch3.adb
gcc/ada/rtsfind.ads
gcc/ada/s-stposu.adb