summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 12:41:02 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 12:41:02 +0000
commit7b047578f22225a362e6da37f4fa100a5a3742a8 (patch)
treee20c6f34889b4e167544eb4d0d0ee2788fa476cd
parentaada9bb5762237f333b99a2e231beb8252da0b17 (diff)
downloadgcc-7b047578f22225a362e6da37f4fa100a5a3742a8.tar.gz
2011-08-29 Tristan Gingold <gingold@adacore.com>
* a-exexpr.adb (Setup_Exception): Removed. * a-exexpr-gcc.adb (Setup_Exception): Removed. * a-except.adb (Exception_Propagation): Removed. * a-except-2005.adb (Setup_Exception): Removed. (Reraise): Remove call to Setup_Exception. (Reraise_Occurrence): Ditto. (Reraise_Occurrence_Always): Ditto. (Reraise_Occurrence_No_Defer): Ditto. (Transfer_Occurrence): Ditto. * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception. (Set_Exception_Msg): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178214 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/ChangeLog14
-rw-r--r--gcc/ada/a-except-2005.adb32
-rw-r--r--gcc/ada/a-except.adb26
-rw-r--r--gcc/ada/a-exexda.adb4
-rw-r--r--gcc/ada/a-exexpr-gcc.adb23
-rw-r--r--gcc/ada/a-exexpr.adb18
6 files changed, 15 insertions, 102 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1abc64fd94a..a6d7e0afa6e 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,17 @@
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Setup_Exception): Removed.
+ * a-exexpr-gcc.adb (Setup_Exception): Removed.
+ * a-except.adb (Exception_Propagation): Removed.
+ * a-except-2005.adb (Setup_Exception): Removed.
+ (Reraise): Remove call to Setup_Exception.
+ (Reraise_Occurrence): Ditto.
+ (Reraise_Occurrence_Always): Ditto.
+ (Reraise_Occurrence_No_Defer): Ditto.
+ (Transfer_Occurrence): Ditto.
+ * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
+ (Set_Exception_Msg): Ditto.
+
2011-08-29 Robert Dewar <dewar@adacore.com>
* a-convec.adb, exp_disp.adb: Minor reformatting.
diff --git a/gcc/ada/a-except-2005.adb b/gcc/ada/a-except-2005.adb
index 5990e224bc8..3cb6eb7b799 100644
--- a/gcc/ada/a-except-2005.adb
+++ b/gcc/ada/a-except-2005.adb
@@ -239,22 +239,6 @@ package body Ada.Exceptions is
-- 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 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
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;
diff --git a/gcc/ada/a-except.adb b/gcc/ada/a-except.adb
index fe1ca520c8c..44ccc9a58f7 100644
--- a/gcc/ada/a-except.adb
+++ b/gcc/ada/a-except.adb
@@ -209,16 +209,6 @@ package body Ada.Exceptions is
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 @@ package body Ada.Exceptions is
-- 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 --
----------------------
diff --git a/gcc/ada/a-exexda.adb b/gcc/ada/a-exexda.adb
index 63ab461a9fa..b035ebdf6b0 100644
--- a/gcc/ada/a-exexda.adb
+++ b/gcc/ada/a-exexda.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- 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 @@ package body Exception_Data is
-- 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 @@ package body Exception_Data is
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);
diff --git a/gcc/ada/a-exexpr-gcc.adb b/gcc/ada/a-exexpr-gcc.adb
index 12202d8b120..43099d1ad9b 100644
--- a/gcc/ada/a-exexpr-gcc.adb
+++ b/gcc/ada/a-exexpr-gcc.adb
@@ -322,29 +322,6 @@ package body Exception_Propagation is
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 --
-------------------------
diff --git a/gcc/ada/a-exexpr.adb b/gcc/ada/a-exexpr.adb
index b58ca23b0f9..cd7598b885f 100644
--- a/gcc/ada/a-exexpr.adb
+++ b/gcc/ada/a-exexpr.adb
@@ -57,24 +57,6 @@ package body Exception_Propagation is
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 --
-------------------------