summaryrefslogtreecommitdiff
path: root/gcc/ada/s-soflin.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/s-soflin.ads')
-rw-r--r--gcc/ada/s-soflin.ads50
1 files changed, 11 insertions, 39 deletions
diff --git a/gcc/ada/s-soflin.ads b/gcc/ada/s-soflin.ads
index b813714515d..8f166e61263 100644
--- a/gcc/ada/s-soflin.ads
+++ b/gcc/ada/s-soflin.ads
@@ -32,7 +32,7 @@
------------------------------------------------------------------------------
-- This package contains a set of subprogram access variables that access
--- some low-level primitives that are called different depending wether
+-- some low-level primitives that are called different depending whether
-- tasking is involved or not (e.g. the Get/Set_Jmpbuf_Address that needs
-- to provide a different value for each task). To avoid dragging in the
-- tasking all the time, we use a system of soft links where the links are
@@ -43,7 +43,9 @@ with Ada.Exceptions;
with System.Stack_Checking;
package System.Soft_Links is
- pragma Elaborate_Body;
+ pragma Warnings (Off);
+ pragma Preelaborate_05;
+ pragma Warnings (On);
subtype EOA is Ada.Exceptions.Exception_Occurrence_Access;
subtype EO is Ada.Exceptions.Exception_Occurrence;
@@ -210,21 +212,8 @@ package System.Soft_Links is
Get_Sec_Stack_Addr : Get_Address_Call := Get_Sec_Stack_Addr_NT'Access;
Set_Sec_Stack_Addr : Set_Address_Call := Set_Sec_Stack_Addr_NT'Access;
- function Get_Machine_State_Addr_NT return Address;
- procedure Set_Machine_State_Addr_NT (Addr : Address);
-
- Get_Machine_State_Addr : Get_Address_Call
- := Get_Machine_State_Addr_NT'Access;
- Set_Machine_State_Addr : Set_Address_Call
- := Set_Machine_State_Addr_NT'Access;
-
- function Get_Exc_Stack_Addr_NT return Address;
- procedure Set_Exc_Stack_Addr_NT (Self_ID : Address; Addr : Address);
- -- Self_ID is a Task_Id, but in the non-tasking case there is no
- -- Task_Id type available, so make do with Address.
-
+ function Get_Exc_Stack_Addr_NT return Address;
Get_Exc_Stack_Addr : Get_Address_Call := Get_Exc_Stack_Addr_NT'Access;
- Set_Exc_Stack_Addr : Set_Address_Call2 := Set_Exc_Stack_Addr_NT'Access;
function Get_Current_Excep_NT return EOA;
@@ -302,24 +291,18 @@ package System.Soft_Links is
-- to the tasks requested stack size before the task can do
-- its first stack check.
- Jmpbuf_Address : Address := Null_Address;
+ pragma Warnings (Off);
+ Jmpbuf_Address : System.Address := System.Null_Address;
-- Address of jump buffer used to store the address of the
-- current longjmp/setjmp buffer for exception management.
-- These buffers are threaded into a stack, and the address
-- here is the top of the stack. A null address means that
-- no exception handler is currently active.
- Sec_Stack_Addr : Address := Null_Address;
+ Sec_Stack_Addr : System.Address := System.Null_Address;
+ pragma Warnings (On);
-- Address of currently allocated secondary stack
- Exc_Stack_Addr : Address := Null_Address;
- -- Address of a task-specific stack used for the propagation of
- -- exceptions in response to synchronous faults. This alternate
- -- stack is necessary when propagating Storage_Error resulting
- -- from a stack overflow, as the task's primary stack is full.
- -- This is currently only used on the SGI, and this value stays
- -- null on other platforms.
-
Current_Excep : aliased EO;
-- Exception occurrence that contains the information for the
-- current exception. Note that any exception in the same task
@@ -328,9 +311,6 @@ package System.Soft_Links is
--
-- Also act as a list of the active exceptions in the case of the GCC
-- exception mechanism, organized as a stack with the most recent first.
-
- Machine_State_Addr : Address := Null_Address;
- -- Machine state address. Used by front-end zero cost exception
end record;
procedure Create_TSD (New_TSD : in out TSD);
@@ -340,7 +320,7 @@ package System.Soft_Links is
procedure Destroy_TSD (Old_TSD : in out TSD);
pragma Inline (Destroy_TSD);
- -- Called from s-tassta just before a thread is destroyed to perform
+ -- Called from s-tassta just before a thread is destroyed to perform
-- any required finalization.
function Get_GNAT_Exception return Ada.Exceptions.Exception_Id;
@@ -364,14 +344,6 @@ package System.Soft_Links is
pragma Inline (Get_Sec_Stack_Addr_Soft);
pragma Inline (Set_Sec_Stack_Addr_Soft);
- function Get_Exc_Stack_Addr_Soft return Address;
- procedure Set_Exc_Stack_Addr_Soft (Self_ID : Address; Addr : Address);
- pragma Inline (Get_Exc_Stack_Addr_Soft);
- pragma Inline (Set_Exc_Stack_Addr_Soft);
-
- function Get_Machine_State_Addr_Soft return Address;
- procedure Set_Machine_State_Addr_Soft (Addr : Address);
- pragma Inline (Get_Machine_State_Addr_Soft);
- pragma Inline (Set_Machine_State_Addr_Soft);
+ function Get_Exc_Stack_Addr_Soft return Address;
end System.Soft_Links;