(Task_Address): New subtype of System.Address
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 8 Apr 2008 07:13:49 +0000 (09:13 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 8 Apr 2008 07:13:49 +0000 (09:13 +0200)
(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
gcc/ada/s-taspri-vms.ads

index c59a780c16123160e5029808390bcb9b79199555..23723f829a45f396e38a8279fa769d692ad50634 100644 (file)
@@ -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;
index d2e78cb6cb6e069cbb7b805cf9b8a8b405e3ae78..8f5cb28bc59072727f25df069ef6a9677ddba470 100644 (file)
@@ -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;