From eb0a45986f505b3d55aa74a30d24c2341f47fcf3 Mon Sep 17 00:00:00 2001
From: Arnaud Charlet <charlet@gcc.gnu.org>
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 c59a780c1612..23723f829a45 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 d2e78cb6cb6e..8f5cb28bc590 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;
-- 
GitLab