[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 5 Sep 2011 14:18:54 +0000 (16:18 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 5 Sep 2011 14:18:54 +0000 (16:18 +0200)
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

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 35d8af94b4a75fd88e019d9a6a03a22c5d075d09..b4ddbf396347e6cedad3898a3a5dcf2e5445dd2d 100644 (file)
@@ -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
index bfbe2f8466f82bd187bbd91d16ce36bc548d83d2..c2657dc32643bf901283f27701791b6b47f28d4b 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 a08bb08a49424d636670cf6bd120636cac748168..cfeb816a374430711bedb246e93ac5bd7544d41d 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 0ffc78af2d0998314b48d00128245c5ee14a4807..fc4d143b00eaf0c1d8b237aeae1b88bdc91d2fae 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 828c47e6f4e2eb17911313c911c606e2dc7344b2..4fbacfac3b3ee8a79f7a994a366adfcfb0053a5c 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 c42e37c7204e264abe3013278f61716e0dc042f5..8802ae52077b9b745efc0914c1ec0b1135ca8282 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;