+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
-- --
-- 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 --
type Cursor is record
Container : Map_Access;
- Node : Count_Type;
+ Node : Count_Type := 0;
end record;
procedure Read
-- --
-- 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 --
type Cursor is record
Container : Set_Access;
- Node : Count_Type;
+ Node : Count_Type := 0;
end record;
procedure Write
-- 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;
with System.RPC;
package System.Partition_Interface is
-
pragma Elaborate_Body;
type DSA_Implementation_Name is (No_DSA, GARLIC_DSA, PolyORB_DSA);
-- 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;
-- 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
-- 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;
-- 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;
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;