[multiple changes]
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com> * s-finmas.adb (Set_Finalize_Address (Address, Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address. (Set_Finalize_Address (in out Finalization_Master, Finalize_Address_Ptr): Add synchronization code. * s-finmas.ads (Set_Finalize_Address (Address, Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address. * s-stposu.adb (Allocate_Any_Controlled): Update the call to Set_Finalize_Address for the heterogeneous case. 2011-09-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Undo previous change, not suitable after all. 2011-09-05 Robert Dewar <dewar@adacore.com> * einfo.ads: Minor comment clarification. From-SVN: r178550
This commit is contained in:
parent
0613fb3358
commit
544e7c17b5
|
@ -1,3 +1,22 @@
|
|||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||||
|
||||
* s-finmas.adb (Set_Finalize_Address (Address,
|
||||
Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
|
||||
(Set_Finalize_Address (in out Finalization_Master,
|
||||
Finalize_Address_Ptr): Add synchronization code.
|
||||
* s-finmas.ads (Set_Finalize_Address (Address,
|
||||
Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
|
||||
* s-stposu.adb (Allocate_Any_Controlled): Update the call to
|
||||
Set_Finalize_Address for the heterogeneous case.
|
||||
|
||||
2011-09-05 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch3.adb: Undo previous change, not suitable after all.
|
||||
|
||||
2011-09-05 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* einfo.ads: Minor comment clarification.
|
||||
|
||||
2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||||
|
||||
* exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
|
||||
|
|
|
@ -391,7 +391,7 @@ package Einfo is
|
|||
-- that holds value of the Aft attribute for the type.
|
||||
|
||||
-- Alias (Node18)
|
||||
-- Present in overloaded entities (literals, subprograms, entries) and
|
||||
-- Present in overloadable entities (literals, subprograms, entries) and
|
||||
-- subprograms that cover a primitive operation of an abstract interface
|
||||
-- (that is, subprograms with the Interface_Alias attribute). In case of
|
||||
-- overloaded entities it points to the parent subprogram of a derived
|
||||
|
|
|
@ -463,14 +463,16 @@ package body System.Finalization_Masters is
|
|||
Fin_Addr_Ptr : Finalize_Address_Ptr)
|
||||
is
|
||||
begin
|
||||
Lock_Task.all;
|
||||
Master.Finalize_Address := Fin_Addr_Ptr;
|
||||
Unlock_Task.all;
|
||||
end Set_Finalize_Address;
|
||||
|
||||
--------------------------
|
||||
-- Set_Finalize_Address --
|
||||
--------------------------
|
||||
----------------------------------------
|
||||
-- Set_Heterogeneous_Finalize_Address --
|
||||
----------------------------------------
|
||||
|
||||
procedure Set_Finalize_Address
|
||||
procedure Set_Heterogeneous_Finalize_Address
|
||||
(Obj : System.Address;
|
||||
Fin_Addr_Ptr : Finalize_Address_Ptr)
|
||||
is
|
||||
|
@ -478,7 +480,7 @@ package body System.Finalization_Masters is
|
|||
Lock_Task.all;
|
||||
Finalize_Address_Table.Set (Obj, Fin_Addr_Ptr);
|
||||
Unlock_Task.all;
|
||||
end Set_Finalize_Address;
|
||||
end Set_Heterogeneous_Finalize_Address;
|
||||
|
||||
--------------------------
|
||||
-- Set_Is_Heterogeneous --
|
||||
|
|
|
@ -119,10 +119,9 @@ package System.Finalization_Masters is
|
|||
procedure Set_Finalize_Address
|
||||
(Master : in out Finalization_Master;
|
||||
Fin_Addr_Ptr : Finalize_Address_Ptr);
|
||||
-- Set the clean up routine of a finalization master. Note: this routine
|
||||
-- must precede the one below since RTSfind needs to match this one.
|
||||
-- Set the clean up routine of a finalization master
|
||||
|
||||
procedure Set_Finalize_Address
|
||||
procedure Set_Heterogeneous_Finalize_Address
|
||||
(Obj : System.Address;
|
||||
Fin_Addr_Ptr : Finalize_Address_Ptr);
|
||||
-- Add a relation pair object - Finalize_Address to the internal hash table
|
||||
|
|
|
@ -286,7 +286,7 @@ package body System.Storage_Pools.Subpools is
|
|||
-- 2) Certain cases of anonymous access types usage
|
||||
|
||||
else
|
||||
Set_Finalize_Address (Addr, Fin_Address);
|
||||
Set_Heterogeneous_Finalize_Address (Addr, Fin_Address);
|
||||
Finalize_Address_Table_In_Use := True;
|
||||
end if;
|
||||
|
||||
|
|
|
@ -17052,16 +17052,13 @@ package body Sem_Ch3 is
|
|||
|
||||
-- The Base_Type is already completed, we can complete the subtype
|
||||
-- now. We have to create a new entity with the same name, Thus we
|
||||
-- can't use Create_Itype. The entity may be exchanged when entering
|
||||
-- exiting a package body, so it has to have a proper parent field,
|
||||
-- so that the tree is always properly formatted for ASIS.
|
||||
-- can't use Create_Itype.
|
||||
|
||||
-- This is messy, should be fixed ???
|
||||
|
||||
Full := Make_Defining_Identifier (Sloc (Id), Chars (Id));
|
||||
Set_Is_Itype (Full);
|
||||
Set_Associated_Node_For_Itype (Full, Related_Nod);
|
||||
Set_Parent (Full, Parent (Id));
|
||||
Complete_Private_Subtype (Id, Full, Full_B, Related_Nod);
|
||||
end if;
|
||||
|
||||
|
|
Loading…
Reference in New Issue