===================================================================
@@ -57,24 +57,6 @@
pragma No_Return (builtin_longjmp);
pragma Import (Intrinsic, builtin_longjmp, "__builtin_longjmp");
- ---------------------
- -- Setup_Exception --
- ---------------------
-
- procedure Setup_Exception
- (Excep : EOA;
- Current : EOA;
- Reraised : Boolean := False)
- is
- pragma Unreferenced (Excep, Current, Reraised);
- begin
- -- In the GNAT-SJLJ case this "stack" only exists implicitly, by way of
- -- local occurrence declarations together with save/restore operations
- -- generated by the front-end, and this routine has nothing to do.
-
- null;
- end Setup_Exception;
-
-------------------------
-- Propagate_Exception --
-------------------------
===================================================================
@@ -322,29 +322,6 @@
return URC_NO_REASON;
end CleanupUnwind_Handler;
- ---------------------
- -- Setup_Exception --
- ---------------------
-
- -- In the GCC-EH implementation of the propagation scheme, this
- -- subprogram should be understood as: Setup the exception occurrence
- -- stack headed at Current for a forthcoming raise of Excep.
-
- procedure Setup_Exception
- (Excep : EOA;
- Current : EOA;
- Reraised : Boolean := False)
- is
- pragma Unreferenced (Excep, Current, Reraised);
-
- begin
- -- In the GNAT-SJLJ case this "stack" only exists implicitly, by way of
- -- local occurrence declarations together with save/restore operations
- -- generated by the front-end, and this routine has nothing to do.
-
- null;
- end Setup_Exception;
-
-------------------------
-- Setup_Current_Excep --
-------------------------
===================================================================
@@ -209,16 +209,6 @@
end Exception_Traces;
- package Exception_Propagation is
-
- procedure Setup_Exception
- (Excep : EOA;
- Current : EOA;
- Reraised : Boolean := False);
- -- Dummy routine used to share a-exexda.adb, do nothing
-
- end Exception_Propagation;
-
package Stream_Attributes is
--------------------------------
@@ -677,22 +667,6 @@
-- This package can be easily dummied out if we do not want the basic
-- support for exception messages (such as in Ada 83).
- package body Exception_Propagation is
-
- procedure Setup_Exception
- (Excep : EOA;
- Current : EOA;
- Reraised : Boolean := False)
- is
- pragma Warnings (Off, Excep);
- pragma Warnings (Off, Current);
- pragma Warnings (Off, Reraised);
- begin
- null;
- end Setup_Exception;
-
- end Exception_Propagation;
-
----------------------
-- Exception_Traces --
----------------------
===================================================================
@@ -239,22 +239,6 @@
-- Exception propagation routines --
------------------------------------
- procedure Setup_Exception
- (Excep : EOA;
- Current : EOA;
- Reraised : Boolean := False);
- -- Perform the necessary operations to prepare the propagation of Excep
- -- in a task where Current is the current occurrence. Excep is assumed
- -- to be a valid (non null) pointer.
- --
- -- This should be called before any (re-)setting of the current
- -- occurrence. Any such (re-)setting shall take care *not* to clobber
- -- the Private_Data component.
- --
- -- Having Current provided as an argument (instead of retrieving it via
- -- Get_Current_Excep internally) is required to allow one task to setup
- -- an exception for another task, which is used by Transfer_Occurrence.
-
procedure Propagate_Exception
(E : Exception_Id;
From_Signal_Handler : Boolean);
@@ -1025,8 +1009,6 @@
Excep : constant EOA := Get_Current_Excep.all;
begin
- Exception_Propagation.Setup_Exception (Excep, Excep);
-
Excep.Exception_Raised := False;
Excep.Id := E;
Excep.Num_Tracebacks := 0;
@@ -1284,7 +1266,6 @@
if not ZCX_By_Default then
Abort_Defer.all;
end if;
- Exception_Propagation.Setup_Exception (Excep, Excep, Reraised => True);
Raise_Current_Excep (Excep.Id);
end Reraise;
@@ -1299,8 +1280,6 @@
Abort_Defer.all;
end if;
- Exception_Propagation.Setup_Exception
- (X'Unrestricted_Access, Get_Current_Excep.all, Reraised => True);
Save_Occurrence_No_Private (Get_Current_Excep.all.all, X);
Raise_Current_Excep (X.Id);
end if;
@@ -1316,8 +1295,6 @@
Abort_Defer.all;
end if;
- Exception_Propagation.Setup_Exception
- (X'Unrestricted_Access, Get_Current_Excep.all, Reraised => True);
Save_Occurrence_No_Private (Get_Current_Excep.all.all, X);
Raise_Current_Excep (X.Id);
end Reraise_Occurrence_Always;
@@ -1328,8 +1305,6 @@
procedure Reraise_Occurrence_No_Defer (X : Exception_Occurrence) is
begin
- Exception_Propagation.Setup_Exception
- (X'Unrestricted_Access, Get_Current_Excep.all, Reraised => True);
Save_Occurrence_No_Private (Get_Current_Excep.all.all, X);
Raise_Current_Excep (X.Id);
end Reraise_Occurrence_No_Defer;
@@ -1384,13 +1359,6 @@
Source : Exception_Occurrence)
is
begin
- -- Setup Target as an exception to be propagated in the calling task
- -- (rendezvous-wise), taking care not to clobber the associated private
- -- data. Target is expected to be a pointer to the calling task's
- -- fixed TSD occurrence, which is very different from Get_Current_Excep
- -- here because this subprogram is called from the called task.
-
- Exception_Propagation.Setup_Exception (Target, Target);
Save_Occurrence_No_Private (Target.all, Source);
end Transfer_Occurrence;
===================================================================
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -612,7 +612,6 @@
-- Start of processing for Set_Exception_C_Msg
begin
- Exception_Propagation.Setup_Exception (Excep, Excep);
Excep.Exception_Raised := False;
Excep.Id := Id;
Excep.Num_Tracebacks := 0;
@@ -663,7 +662,6 @@
Excep : constant EOA := Get_Current_Excep.all;
begin
- Exception_Propagation.Setup_Exception (Excep, Excep);
Excep.Exception_Raised := False;
Excep.Msg_Length := Len;
Excep.Msg (1 .. Len) := Message (First .. First + Len - 1);