OSDN Git Service

2006-10-31 Bob Duff <duff@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / s-secsta.ads
index 12bcd65..ad4a98d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
+--          Copyright (C) 1992-2005, 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- --
@@ -16,8 +16,8 @@
 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
 -- for  more details.  You should have  received  a copy of the GNU General --
 -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
+-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+-- Boston, MA 02110-1301, USA.                                              --
 --                                                                          --
 -- As a special exception,  if other files  instantiate  generics from this --
 -- unit, or you link  this unit with other files  to produce an executable, --
@@ -73,7 +73,7 @@ package System.Secondary_Stack is
    --  to System.Null_Address.
 
    type Mark_Id is private;
-   --  Type used to mark the stack
+   --  Type used to mark the stack for mark/release processing
 
    function SS_Mark return Mark_Id;
    --  Return the Mark corresponding to the current state of the stack
@@ -102,6 +102,15 @@ private
    --  Unused entity that is just present to ease the sharing of the pool
    --  mechanism for specific allocation/deallocation in the compiler
 
-   type Mark_Id is new SSE.Integer_Address;
+   type SS_Ptr is new SSE.Integer_Address;
+   --  Stack pointer value for secondary stack
+
+   type Mark_Id is record
+      Sstk : System.Address;
+      Sptr : SS_Ptr;
+   end record;
+   --  A mark value contains the address of the secondary stack structure,
+   --  as returned by System.Soft_Links.Get_Sec_Stack_Addr, and a stack
+   --  pointer value corresponding to the point of the mark call.
 
 end System.Secondary_Stack;