OSDN Git Service

2011-08-29 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Aug 2011 14:17:49 +0000 (14:17 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Aug 2011 14:17:49 +0000 (14:17 +0000)
* sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
reformatting.

2011-08-29  Matthew Heaney  <heaney@adacore.com>

* a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
components of record type.

2011-08-29  Bob Duff  <duff@adacore.com>

* s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
by the termination handler.

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

gcc/ada/ChangeLog
gcc/ada/a-cbhama.ads
gcc/ada/a-cbhase.ads
gcc/ada/gnat1drv.adb
gcc/ada/s-parint.ads
gcc/ada/s-tassta.adb
gcc/ada/sem_ch3.adb
gcc/ada/sem_util.adb

index 6ebe687..944519d 100644 (file)
@@ -1,3 +1,18 @@
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
+       reformatting.
+
+2011-08-29  Matthew Heaney  <heaney@adacore.com>
+
+       * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
+       components of record type.
+
+2011-08-29  Bob Duff  <duff@adacore.com>
+
+       * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
+       by the termination handler.
+
 2011-08-29  Yannick Moy  <moy@adacore.com>
 
        * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
index 042cc0f..0102e02 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -320,7 +320,7 @@ private
 
    type Cursor is record
       Container : Map_Access;
-      Node      : Count_Type;
+      Node      : Count_Type := 0;
    end record;
 
    procedure Read
index 9618ff3..4f3ea31 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -431,7 +431,7 @@ private
 
    type Cursor is record
       Container : Set_Access;
-      Node      : Count_Type;
+      Node      : Count_Type := 0;
    end record;
 
    procedure Write
index ffb3e24..f371afa 100644 (file)
@@ -479,7 +479,7 @@ procedure Gnat1drv is
          --  We would prefer to suppress the expansion of tagged types and
          --  dispatching calls, so that one day GNATprove can handle them
          --  directly. Unfortunately, this is causing problems in some cases,
-         --  so keep this expansion for the time being.
+         --  so keep this expansion for the time being. To be investigated ???
 
          Tagged_Type_Expansion := True;
       end if;
index 457be06..a6257cc 100644 (file)
@@ -38,7 +38,6 @@ with Interfaces;
 with System.RPC;
 
 package System.Partition_Interface is
-
    pragma Elaborate_Body;
 
    type DSA_Implementation_Name is (No_DSA, GARLIC_DSA, PolyORB_DSA);
@@ -46,13 +45,14 @@ package System.Partition_Interface is
    --  Identification of this DSA implementation variant
 
    PCS_Version : constant := 1;
-   --  Version of the PCS API (for Exp_Dist consistency check).
+   --  Version of the PCS API (for Exp_Dist consistency check)
+   --
    --  This version number is matched against corresponding element of
-   --  Exp_Dist.PCS_Version_Number to ensure that the versions of Exp_Dist and
-   --  the PCS are consistent.
+   --  Exp_Dist.PCS_Version_Number to ensure that the versions of Exp_Dist
+   --  and the PCS are consistent.
 
-   --  RCI receiving stubs contain a table of descriptors for
-   --  all user subprograms exported by the unit.
+   --  RCI receiving stubs contain a table of descriptors for all user
+   --  subprograms exported by the unit.
 
    type Subprogram_Id is new Natural;
    First_RCI_Subprogram_Id : constant := 2;
index 8795ce7..88b43ed 100644 (file)
@@ -1324,7 +1324,14 @@ package body System.Tasking.Stages is
       --  Execute the task termination handler if we found it
 
       if TH /= null then
-         TH.all (Cause, Self_ID, EO);
+         begin
+            TH.all (Cause, Self_ID, EO);
+
+         exception
+            when others =>
+               --  RM-C.7.3 requires these exceptions to be ignored
+               null;
+         end;
       end if;
 
       if System.Stack_Usage.Is_Enabled then
index 0c2c043..5a3c570 100644 (file)
@@ -4791,28 +4791,22 @@ package body Sem_Ch3 is
       --  Process subtype indication if one is present
 
       if Present (Component_Typ) then
-
          Element_Type := Process_Subtype (Component_Typ, P, Related_Id, 'C');
 
          --  In formal verification mode, create an explicit declaration for
          --  the Itype created for a component type. Having a declaration for
          --  all type entities facilitates the task of the formal verification
-         --  back-end. Notice that this declaration is not attached to the
-         --  tree.
+         --  back-end. Note: this declaration is not attached to the tree.
 
-         if ALFA_Mode
-           and then Is_Itype (Element_Type)
-         then
+         if ALFA_Mode and then Is_Itype (Element_Type) then
             declare
                Loc  : constant Source_Ptr := Sloc (Def);
                Decl : Entity_Id;
-
             begin
                Decl :=
                  Make_Subtype_Declaration (Loc,
                    Defining_Identifier => Element_Type,
                    Subtype_Indication  => Relocate_Node (Component_Typ));
-
                Analyze (Decl);
             end;
          end if;
@@ -4906,23 +4900,20 @@ package body Sem_Ch3 is
          --  In ALFA mode, generate a declaration for Itype T, so that the
          --  formal verification back-end can use it.
 
-         if ALFA_Mode
-           and then Is_Itype (T)
-         then
+         if ALFA_Mode and then Is_Itype (T) then
             declare
                Loc  : constant Source_Ptr := Sloc (Def);
                Decl : Node_Id;
-
             begin
-               Decl := Make_Full_Type_Declaration (Loc,
-                  Defining_Identifier => T,
-                  Type_Definition     =>
-                   Make_Constrained_Array_Definition (Loc,
-                     Discrete_Subtype_Definitions =>
-                       New_Copy_List (Discrete_Subtype_Definitions (Def)),
-                     Component_Definition         =>
-                       Relocate_Node (Component_Definition (Def))));
-
+               Decl :=
+                 Make_Full_Type_Declaration (Loc,
+                   Defining_Identifier => T,
+                   Type_Definition     =>
+                     Make_Constrained_Array_Definition (Loc,
+                       Discrete_Subtype_Definitions =>
+                         New_Copy_List (Discrete_Subtype_Definitions (Def)),
+                       Component_Definition         =>
+                         Relocate_Node (Component_Definition (Def))));
                Analyze (Decl);
             end;
          end if;
index b4dac3c..b51719d 100644 (file)
@@ -8515,9 +8515,8 @@ package body Sem_Util is
    begin
       pragma Assert (Is_Itype (Id));
       return Present (Parent (Id))
-        and then Nkind_In (Parent (Id),
-                           N_Full_Type_Declaration,
-                           N_Subtype_Declaration)
+        and then Nkind_In (Parent (Id), N_Full_Type_Declaration,
+                                        N_Subtype_Declaration)
         and then Defining_Entity (Parent (Id)) = Id;
    end Itype_Has_Declaration;