Commit c54796e0 by Arnaud Charlet

[multiple changes]

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.

From-SVN: r178241
parent 9fd9d2be
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> 2011-08-29 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- 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 -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
...@@ -320,7 +320,7 @@ private ...@@ -320,7 +320,7 @@ private
type Cursor is record type Cursor is record
Container : Map_Access; Container : Map_Access;
Node : Count_Type; Node : Count_Type := 0;
end record; end record;
procedure Read procedure Read
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- 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 -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
...@@ -431,7 +431,7 @@ private ...@@ -431,7 +431,7 @@ private
type Cursor is record type Cursor is record
Container : Set_Access; Container : Set_Access;
Node : Count_Type; Node : Count_Type := 0;
end record; end record;
procedure Write procedure Write
......
...@@ -479,7 +479,7 @@ procedure Gnat1drv is ...@@ -479,7 +479,7 @@ procedure Gnat1drv is
-- We would prefer to suppress the expansion of tagged types and -- We would prefer to suppress the expansion of tagged types and
-- dispatching calls, so that one day GNATprove can handle them -- dispatching calls, so that one day GNATprove can handle them
-- directly. Unfortunately, this is causing problems in some cases, -- 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; Tagged_Type_Expansion := True;
end if; end if;
......
...@@ -38,7 +38,6 @@ with Interfaces; ...@@ -38,7 +38,6 @@ with Interfaces;
with System.RPC; with System.RPC;
package System.Partition_Interface is package System.Partition_Interface is
pragma Elaborate_Body; pragma Elaborate_Body;
type DSA_Implementation_Name is (No_DSA, GARLIC_DSA, PolyORB_DSA); type DSA_Implementation_Name is (No_DSA, GARLIC_DSA, PolyORB_DSA);
...@@ -46,13 +45,14 @@ package System.Partition_Interface is ...@@ -46,13 +45,14 @@ package System.Partition_Interface is
-- Identification of this DSA implementation variant -- Identification of this DSA implementation variant
PCS_Version : constant := 1; 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 -- This version number is matched against corresponding element of
-- Exp_Dist.PCS_Version_Number to ensure that the versions of Exp_Dist and -- Exp_Dist.PCS_Version_Number to ensure that the versions of Exp_Dist
-- the PCS are consistent. -- and the PCS are consistent.
-- RCI receiving stubs contain a table of descriptors for -- RCI receiving stubs contain a table of descriptors for all user
-- all user subprograms exported by the unit. -- subprograms exported by the unit.
type Subprogram_Id is new Natural; type Subprogram_Id is new Natural;
First_RCI_Subprogram_Id : constant := 2; First_RCI_Subprogram_Id : constant := 2;
......
...@@ -1324,7 +1324,14 @@ package body System.Tasking.Stages is ...@@ -1324,7 +1324,14 @@ package body System.Tasking.Stages is
-- Execute the task termination handler if we found it -- Execute the task termination handler if we found it
if TH /= null then 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; end if;
if System.Stack_Usage.Is_Enabled then if System.Stack_Usage.Is_Enabled then
......
...@@ -4791,28 +4791,22 @@ package body Sem_Ch3 is ...@@ -4791,28 +4791,22 @@ package body Sem_Ch3 is
-- Process subtype indication if one is present -- Process subtype indication if one is present
if Present (Component_Typ) then if Present (Component_Typ) then
Element_Type := Process_Subtype (Component_Typ, P, Related_Id, 'C'); Element_Type := Process_Subtype (Component_Typ, P, Related_Id, 'C');
-- In formal verification mode, create an explicit declaration for -- In formal verification mode, create an explicit declaration for
-- the Itype created for a component type. Having a declaration for -- the Itype created for a component type. Having a declaration for
-- all type entities facilitates the task of the formal verification -- all type entities facilitates the task of the formal verification
-- back-end. Notice that this declaration is not attached to the -- back-end. Note: this declaration is not attached to the tree.
-- tree.
if ALFA_Mode if ALFA_Mode and then Is_Itype (Element_Type) then
and then Is_Itype (Element_Type)
then
declare declare
Loc : constant Source_Ptr := Sloc (Def); Loc : constant Source_Ptr := Sloc (Def);
Decl : Entity_Id; Decl : Entity_Id;
begin begin
Decl := Decl :=
Make_Subtype_Declaration (Loc, Make_Subtype_Declaration (Loc,
Defining_Identifier => Element_Type, Defining_Identifier => Element_Type,
Subtype_Indication => Relocate_Node (Component_Typ)); Subtype_Indication => Relocate_Node (Component_Typ));
Analyze (Decl); Analyze (Decl);
end; end;
end if; end if;
...@@ -4906,23 +4900,20 @@ package body Sem_Ch3 is ...@@ -4906,23 +4900,20 @@ package body Sem_Ch3 is
-- In ALFA mode, generate a declaration for Itype T, so that the -- In ALFA mode, generate a declaration for Itype T, so that the
-- formal verification back-end can use it. -- formal verification back-end can use it.
if ALFA_Mode if ALFA_Mode and then Is_Itype (T) then
and then Is_Itype (T)
then
declare declare
Loc : constant Source_Ptr := Sloc (Def); Loc : constant Source_Ptr := Sloc (Def);
Decl : Node_Id; Decl : Node_Id;
begin begin
Decl := Make_Full_Type_Declaration (Loc, Decl :=
Defining_Identifier => T, Make_Full_Type_Declaration (Loc,
Type_Definition => Defining_Identifier => T,
Make_Constrained_Array_Definition (Loc, Type_Definition =>
Discrete_Subtype_Definitions => Make_Constrained_Array_Definition (Loc,
New_Copy_List (Discrete_Subtype_Definitions (Def)), Discrete_Subtype_Definitions =>
Component_Definition => New_Copy_List (Discrete_Subtype_Definitions (Def)),
Relocate_Node (Component_Definition (Def)))); Component_Definition =>
Relocate_Node (Component_Definition (Def))));
Analyze (Decl); Analyze (Decl);
end; end;
end if; end if;
......
...@@ -8515,9 +8515,8 @@ package body Sem_Util is ...@@ -8515,9 +8515,8 @@ package body Sem_Util is
begin begin
pragma Assert (Is_Itype (Id)); pragma Assert (Is_Itype (Id));
return Present (Parent (Id)) return Present (Parent (Id))
and then Nkind_In (Parent (Id), and then Nkind_In (Parent (Id), N_Full_Type_Declaration,
N_Full_Type_Declaration, N_Subtype_Declaration)
N_Subtype_Declaration)
and then Defining_Entity (Parent (Id)) = Id; and then Defining_Entity (Parent (Id)) = Id;
end Itype_Has_Declaration; end Itype_Has_Declaration;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment