diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2011-08-30 13:28:16 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-30 15:28:16 +0200 |
commit | 3647ca26874c7f8814049a5efca277354ef0e3e7 (patch) | |
tree | 485a52093002a07b2af758d81496537165510170 /gcc/ada/rtsfind.ads | |
parent | 6d4e4fbcd2f5c5a73d263c4f45b0438d7dec9492 (diff) | |
download | gcc-3647ca26874c7f8814049a5efca277354ef0e3e7.zip gcc-3647ca26874c7f8814049a5efca277354ef0e3e7.tar.gz gcc-3647ca26874c7f8814049a5efca277354ef0e3e7.tar.bz2 |
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
Diffstat (limited to 'gcc/ada/rtsfind.ads')
-rw-r--r-- | gcc/ada/rtsfind.ads | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/ada/rtsfind.ads b/gcc/ada/rtsfind.ads index d262e86..be2bda7 100644 --- a/gcc/ada/rtsfind.ads +++ b/gcc/ada/rtsfind.ads @@ -803,6 +803,7 @@ package Rtsfind is RE_Finalization_Master_Ptr, -- System.Finalization_Masters RE_Set_Base_Pool, -- System.Finalization_Masters RE_Set_Finalize_Address, -- System.Finalization_Masters + RE_Set_Is_Heterogeneous, -- System.Finalization_Masters RE_Root_Controlled, -- System.Finalization_Root RE_Root_Controlled_Ptr, -- System.Finalization_Root @@ -1991,6 +1992,7 @@ package Rtsfind is RE_Finalization_Master_Ptr => System_Finalization_Masters, RE_Set_Base_Pool => System_Finalization_Masters, RE_Set_Finalize_Address => System_Finalization_Masters, + RE_Set_Is_Heterogeneous => System_Finalization_Masters, RE_Root_Controlled => System_Finalization_Root, RE_Root_Controlled_Ptr => System_Finalization_Root, |