From eb0a45986f505b3d55aa74a30d24c2341f47fcf3 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 8 Apr 2008 09:13:49 +0200 Subject: [PATCH] (Task_Address): New subtype of System.Address (Task_Address): New subtype of System.Address (Task_Address_Size): New constant size of System.Address (Alternate_Stack_Size): New constant. From-SVN: r134079 --- gcc/ada/s-taspri-posix.ads | 12 ++++++++++++ gcc/ada/s-taspri-vms.ads | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gcc/ada/s-taspri-posix.ads b/gcc/ada/s-taspri-posix.ads index c59a780c161..23723f829a4 100644 --- a/gcc/ada/s-taspri-posix.ads +++ b/gcc/ada/s-taspri-posix.ads @@ -65,6 +65,18 @@ package System.Task_Primitives is -- A component of this type is guaranteed to be included in the -- Ada_Task_Control_Block. + subtype Task_Address is System.Address; + -- In some versions of Task_Primitives, notably for VMS, Task_Address is + -- the short version of address defined in System.Aux_DEC. To avoid + -- dragging Aux_DEC into tasking packages a tasking specific subtype is + -- defined here. + + Task_Address_Size : constant := Standard'Address_Size; + -- The size of Task_Address + + Alternate_Stack_Size : constant := System.OS_Interface.Alternate_Stack_Size; + -- Import value from System.OS_Interface + private type Lock is new System.OS_Interface.pthread_mutex_t; diff --git a/gcc/ada/s-taspri-vms.ads b/gcc/ada/s-taspri-vms.ads index d2e78cb6cb6..8f5cb28bc59 100644 --- a/gcc/ada/s-taspri-vms.ads +++ b/gcc/ada/s-taspri-vms.ads @@ -42,6 +42,7 @@ pragma Polling (Off); with Interfaces.C; with System.OS_Interface; +with System.Aux_DEC; package System.Task_Primitives is pragma Preelaborate; @@ -66,6 +67,17 @@ package System.Task_Primitives is -- A component of this type is guaranteed to be included in the -- Ada_Task_Control_Block. + subtype Task_Address is System.Aux_DEC.Short_Address; + -- Task_Address is the short version of address defined in System.Aux_DEC. + -- To avoid dragging Aux_DEC into tasking packages a tasking specific + -- subtype is defined here. + + Task_Address_Size : constant := System.Aux_DEC.Short_Address_Size; + -- The size of Task_Address + + Alternate_Stack_Size : constant := 0; + -- No alternate signal stack is used on this platform + private type Exc_Stack_T is array (0 .. 8192) of aliased Character; -- 2.30.2