[Ada] Simplify Propagate_Exception
Arnaud Charlet
charlet@adacore.com
Mon Aug 29 13:08:00 GMT 2011
Remove all its parameters as they were unused.
No functionnal changes.
Tested on x86_64-pc-linux-gnu, committed on trunk
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.
-------------- next part --------------
Index: a-exexpr.adb
===================================================================
--- a-exexpr.adb (revision 178214)
+++ a-exexpr.adb (working copy)
@@ -32,28 +32,14 @@
-- This is the default version, using the __builtin_setjmp/longjmp EH
-- mechanism.
-with System.Storage_Elements; use System.Storage_Elements;
-
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)
package body Exception_Propagation is
-- Common binding to __builtin_longjmp for sjlj variants.
- -- The builtin expects a pointer type for the jmpbuf address argument, and
- -- 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);
+ procedure builtin_longjmp (buffer : System.Address; Flag : Integer);
pragma No_Return (builtin_longjmp);
pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp");
@@ -62,11 +48,7 @@
-------------------------
procedure Propagate_Exception
- (E : Exception_Id;
- From_Signal_Handler : Boolean)
is
- pragma Inspection_Point (E);
-
Jumpbuf_Ptr : constant Address := Get_Jmpbuf_Address.all;
Excep : constant EOA := Get_Current_Excep.all;
begin
@@ -108,7 +90,7 @@
Exception_Traces.Notify_Handled_Exception;
end if;
- builtin_longjmp (To_Jmpbuf_Address (Jumpbuf_Ptr), 1);
+ builtin_longjmp (Jumpbuf_Ptr, 1);
else
Exception_Traces.Notify_Unhandled_Exception;
Index: a-exexpr-gcc.adb
===================================================================
--- a-exexpr-gcc.adb (revision 178214)
+++ a-exexpr-gcc.adb (working copy)
@@ -445,12 +445,7 @@
-- handling the two phase scheme it implements.
procedure Propagate_Exception
- (E : Exception_Id;
- From_Signal_Handler : Boolean)
is
- pragma Inspection_Point (E);
- pragma Unreferenced (From_Signal_Handler);
-
Excep : constant EOA := Get_Current_Excep.all;
GCC_Exception : GNAT_GCC_Exception_Access;
Index: a-except-2005.adb
===================================================================
--- a-except-2005.adb (revision 178214)
+++ a-except-2005.adb (working copy)
@@ -239,9 +239,7 @@
-- Exception propagation routines --
------------------------------------
- procedure Propagate_Exception
- (E : Exception_Id;
- From_Signal_Handler : Boolean);
+ procedure Propagate_Exception;
pragma No_Return (Propagate_Exception);
-- This procedure propagates the exception represented by the occurrence
-- referenced by Current_Excep in the TSD for the current task.
@@ -268,8 +266,7 @@
procedure Raise_Current_Excep (E : Exception_Id);
pragma No_Return (Raise_Current_Excep);
pragma Export (C, Raise_Current_Excep, "__gnat_raise_nodefer_with_msg");
- -- This is a simple wrapper to Exception_Propagation.Propagate_Exception
- -- setting the From_Signal_Handler argument to False.
+ -- This is a simple wrapper to Exception_Propagation.Propagate_Exception.
--
-- 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
@@ -815,8 +812,7 @@
procedure Raise_Current_Excep (E : Exception_Id) is
begin
Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E));
- Exception_Propagation.Propagate_Exception
- (E => E, From_Signal_Handler => False);
+ Exception_Propagation.Propagate_Exception;
end Raise_Current_Excep;
---------------------
@@ -923,9 +919,7 @@
Abort_Defer.all;
end if;
- Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E));
- Exception_Propagation.Propagate_Exception
- (E => E, From_Signal_Handler => True);
+ Raise_Current_Excep (E);
end Raise_From_Signal_Handler;
-------------------------
More information about the Gcc-patches
mailing list