2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Sep 2011 14:18:54 +0000 (14:18 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Sep 2011 14:18:54 +0000 (14:18 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178550 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/einfo.ads
gcc/ada/s-finmas.adb
gcc/ada/s-finmas.ads
gcc/ada/s-stposu.adb
gcc/ada/sem_ch3.adb

index 35d8af9..b4ddbf3 100644 (file)
@@ -1,5 +1,24 @@
 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
        no longer needs to search through the entities of the return
        statement scope to find the _chain.
index bfbe2f8..c2657dc 100644 (file)
@@ -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
index a08bb08..cfeb816 100644 (file)
@@ -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 --
index 0ffc78a..fc4d143 100644 (file)
@@ -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
index 828c47e..4fbacfa 100644 (file)
@@ -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;
 
index c42e37c..8802ae5 100644 (file)
@@ -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;