summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog15
-rw-r--r--gcc/ada/a-cbhama.ads4
-rw-r--r--gcc/ada/a-cbhase.ads4
-rw-r--r--gcc/ada/gnat1drv.adb2
-rw-r--r--gcc/ada/s-parint.ads12
-rw-r--r--gcc/ada/s-tassta.adb9
-rw-r--r--gcc/ada/sem_ch3.adb33
-rw-r--r--gcc/ada/sem_util.adb5
8 files changed, 48 insertions, 36 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6ebe68778a2..944519d4229 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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
diff --git a/gcc/ada/a-cbhama.ads b/gcc/ada/a-cbhama.ads
index 042cc0fa1df..0102e0221b1 100644
--- a/gcc/ada/a-cbhama.ads
+++ b/gcc/ada/a-cbhama.ads
@@ -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
diff --git a/gcc/ada/a-cbhase.ads b/gcc/ada/a-cbhase.ads
index 9618ff3087e..4f3ea3107f9 100644
--- a/gcc/ada/a-cbhase.ads
+++ b/gcc/ada/a-cbhase.ads
@@ -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
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb
index ffb3e24cdef..f371afafa45 100644
--- a/gcc/ada/gnat1drv.adb
+++ b/gcc/ada/gnat1drv.adb
@@ -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;
diff --git a/gcc/ada/s-parint.ads b/gcc/ada/s-parint.ads
index 457be066012..a6257cc72b3 100644
--- a/gcc/ada/s-parint.ads
+++ b/gcc/ada/s-parint.ads
@@ -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;
diff --git a/gcc/ada/s-tassta.adb b/gcc/ada/s-tassta.adb
index 8795ce7727d..88b43ed35ac 100644
--- a/gcc/ada/s-tassta.adb
+++ b/gcc/ada/s-tassta.adb
@@ -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
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 0c2c043a545..5a3c57003e9 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -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;
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index b4dac3cfc5e..b51719d0af2 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -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;
OpenPOWER on IntegriCloud