OSDN Git Service

2011-08-29 Tristan Gingold <gingold@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Aug 2011 12:41:02 +0000 (12:41 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Aug 2011 12:41:02 +0000 (12:41 +0000)
* 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

gcc/ada/ChangeLog
gcc/ada/a-except-2005.adb
gcc/ada/a-except.adb
gcc/ada/a-exexda.adb
gcc/ada/a-exexpr-gcc.adb
gcc/ada/a-exexpr.adb

index 1abc64f..a6d7e0a 100644 (file)
@@ -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.
index 5990e22..3cb6eb7 100644 (file)
@@ -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;
 
index fe1ca52..44ccc9a 100644 (file)
@@ -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 --
    ----------------------
index 63ab461..b035ebd 100644 (file)
@@ -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);
index 12202d8..43099d1 100644 (file)
@@ -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 --
    -------------------------
index b58ca23..cd7598b 100644 (file)
@@ -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 --
    -------------------------