Commit 590549fb by Arnaud Charlet

[multiple changes]

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr.adb (Propagate_Exception): Remove all the parameters as
	they were unused.
	* a-exexpr-gcc.adb (Propagate_Exception): Ditto.
	* a-except-2005.adb (Propagate_Exception): Adjust spec.
	(Raise_Current_Excep): Adjust call.
	(Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb: Minor reformatting.

From-SVN: r178215
parent 62380e66
2011-08-29 Tristan Gingold <gingold@adacore.com> 2011-08-29 Tristan Gingold <gingold@adacore.com>
* a-exexpr.adb (Propagate_Exception): Remove all the parameters as
they were unused.
* a-exexpr-gcc.adb (Propagate_Exception): Ditto.
* a-except-2005.adb (Propagate_Exception): Adjust spec.
(Raise_Current_Excep): Adjust call.
(Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* exp_disp.adb: Minor reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* a-exexpr.adb (Setup_Exception): Removed. * a-exexpr.adb (Setup_Exception): Removed.
* a-exexpr-gcc.adb (Setup_Exception): Removed. * a-exexpr-gcc.adb (Setup_Exception): Removed.
* a-except.adb (Exception_Propagation): Removed. * a-except.adb (Exception_Propagation): Removed.
......
...@@ -239,9 +239,7 @@ package body Ada.Exceptions is ...@@ -239,9 +239,7 @@ package body Ada.Exceptions is
-- Exception propagation routines -- -- Exception propagation routines --
------------------------------------ ------------------------------------
procedure Propagate_Exception procedure Propagate_Exception;
(E : Exception_Id;
From_Signal_Handler : Boolean);
pragma No_Return (Propagate_Exception); pragma No_Return (Propagate_Exception);
-- This procedure propagates the exception represented by the occurrence -- This procedure propagates the exception represented by the occurrence
-- referenced by Current_Excep in the TSD for the current task. -- referenced by Current_Excep in the TSD for the current task.
...@@ -268,8 +266,7 @@ package body Ada.Exceptions is ...@@ -268,8 +266,7 @@ package body Ada.Exceptions is
procedure Raise_Current_Excep (E : Exception_Id); procedure Raise_Current_Excep (E : Exception_Id);
pragma No_Return (Raise_Current_Excep); pragma No_Return (Raise_Current_Excep);
pragma Export (C, Raise_Current_Excep, "__gnat_raise_nodefer_with_msg"); pragma Export (C, Raise_Current_Excep, "__gnat_raise_nodefer_with_msg");
-- This is a simple wrapper to Exception_Propagation.Propagate_Exception -- This is a simple wrapper to Exception_Propagation.Propagate_Exception.
-- setting the From_Signal_Handler argument to False.
-- --
-- This external name for Raise_Current_Excep is historical, and probably -- This external name for Raise_Current_Excep is historical, and probably
-- should be changed but for now we keep it, because gdb and gigi know -- should be changed but for now we keep it, because gdb and gigi know
...@@ -815,8 +812,7 @@ package body Ada.Exceptions is ...@@ -815,8 +812,7 @@ package body Ada.Exceptions is
procedure Raise_Current_Excep (E : Exception_Id) is procedure Raise_Current_Excep (E : Exception_Id) is
begin begin
Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E)); Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E));
Exception_Propagation.Propagate_Exception Exception_Propagation.Propagate_Exception;
(E => E, From_Signal_Handler => False);
end Raise_Current_Excep; end Raise_Current_Excep;
--------------------- ---------------------
...@@ -923,9 +919,7 @@ package body Ada.Exceptions is ...@@ -923,9 +919,7 @@ package body Ada.Exceptions is
Abort_Defer.all; Abort_Defer.all;
end if; end if;
Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E)); Raise_Current_Excep (E);
Exception_Propagation.Propagate_Exception
(E => E, From_Signal_Handler => True);
end Raise_From_Signal_Handler; end Raise_From_Signal_Handler;
------------------------- -------------------------
......
...@@ -445,12 +445,7 @@ package body Exception_Propagation is ...@@ -445,12 +445,7 @@ package body Exception_Propagation is
-- handling the two phase scheme it implements. -- handling the two phase scheme it implements.
procedure Propagate_Exception procedure Propagate_Exception
(E : Exception_Id;
From_Signal_Handler : Boolean)
is is
pragma Inspection_Point (E);
pragma Unreferenced (From_Signal_Handler);
Excep : constant EOA := Get_Current_Excep.all; Excep : constant EOA := Get_Current_Excep.all;
GCC_Exception : GNAT_GCC_Exception_Access; GCC_Exception : GNAT_GCC_Exception_Access;
......
...@@ -32,28 +32,14 @@ ...@@ -32,28 +32,14 @@
-- This is the default version, using the __builtin_setjmp/longjmp EH -- This is the default version, using the __builtin_setjmp/longjmp EH
-- mechanism. -- mechanism.
with System.Storage_Elements; use System.Storage_Elements;
with Ada.Unchecked_Conversion; with Ada.Unchecked_Conversion;
pragma Warnings (Off);
-- Since several constructs give warnings in 3.14a1, including unreferenced
-- variables and pragma Unreferenced itself.
separate (Ada.Exceptions) separate (Ada.Exceptions)
package body Exception_Propagation is package body Exception_Propagation is
-- Common binding to __builtin_longjmp for sjlj variants. -- Common binding to __builtin_longjmp for sjlj variants.
-- The builtin expects a pointer type for the jmpbuf address argument, and procedure builtin_longjmp (buffer : System.Address; Flag : Integer);
-- System.Address doesn't work because this is really an integer type.
type Jmpbuf_Address is access Character;
function To_Jmpbuf_Address is new
Ada.Unchecked_Conversion (System.Address, Jmpbuf_Address);
procedure builtin_longjmp (buffer : Jmpbuf_Address; Flag : Integer);
pragma No_Return (builtin_longjmp); pragma No_Return (builtin_longjmp);
pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp"); pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp");
...@@ -62,11 +48,7 @@ package body Exception_Propagation is ...@@ -62,11 +48,7 @@ package body Exception_Propagation is
------------------------- -------------------------
procedure Propagate_Exception procedure Propagate_Exception
(E : Exception_Id;
From_Signal_Handler : Boolean)
is is
pragma Inspection_Point (E);
Jumpbuf_Ptr : constant Address := Get_Jmpbuf_Address.all; Jumpbuf_Ptr : constant Address := Get_Jmpbuf_Address.all;
Excep : constant EOA := Get_Current_Excep.all; Excep : constant EOA := Get_Current_Excep.all;
begin begin
...@@ -108,7 +90,7 @@ package body Exception_Propagation is ...@@ -108,7 +90,7 @@ package body Exception_Propagation is
Exception_Traces.Notify_Handled_Exception; Exception_Traces.Notify_Handled_Exception;
end if; end if;
builtin_longjmp (To_Jmpbuf_Address (Jumpbuf_Ptr), 1); builtin_longjmp (Jumpbuf_Ptr, 1);
else else
Exception_Traces.Notify_Unhandled_Exception; Exception_Traces.Notify_Unhandled_Exception;
......
...@@ -3701,8 +3701,8 @@ package body Exp_Disp is ...@@ -3701,8 +3701,8 @@ package body Exp_Disp is
function Is_Actual_For_Formal_Incomplete_Type function Is_Actual_For_Formal_Incomplete_Type
(T : Entity_Id) return Boolean; (T : Entity_Id) return Boolean;
-- In Ada2012, if a nested generic has an incomplete formal type, the -- In Ada 2012, if a nested generic has an incomplete formal type,
-- actual may be (and usually is) a private type whose completion -- the actual may be (and usually is) a private type whose completion
-- appears later. It is safe to build the dispatch table in this -- appears later. It is safe to build the dispatch table in this
-- case, gigi will have full views available. -- case, gigi will have full views available.
......
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