s-stchop.ads: make this unit preelaborate.
authorOlivier Hainque <hainque@adacore.com>
Tue, 31 Oct 2006 18:12:23 +0000 (19:12 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 31 Oct 2006 18:12:23 +0000 (19:12 +0100)
2006-10-31  Olivier Hainque  <hainque@adacore.com>

* s-stchop.ads: make this unit preelaborate. This is desirable in
general and made mandatory by the use of this unit by s-taprop which
is itself preelaborate.

* s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
Td_Events component.

From-SVN: r118320

gcc/ada/s-stchop-vxworks.adb
gcc/ada/s-stchop.ads

index 2da1be555ee363258537bf6cbb3d53631b5cb494..d3171a897173feae13f907b79810a56c0a96e8a6 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1999-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1999-2006 Free Software Foundation, Inc.          --
 --                                                                          --
 -- GNARL 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- --
@@ -104,6 +104,10 @@ package body System.Stack_Checking.Operations is
    is
 
       --  Task descriptor that is handled internally by the VxWorks kernel
+
+      type Td_Events_Storage is array (1 .. 4) of Interfaces.C.int;
+      pragma Convention (C, Td_Events_Storage);
+
       type Task_Descriptor is record
          T_Id            : Interfaces.C.int; -- task identifier
          Td_Name         : System.Address; -- task name
@@ -121,6 +125,7 @@ package body System.Stack_Checking.Operations is
          Td_StackMargin  : Interfaces.C.int; -- current stack margin in bytes
          Td_ErrorStatus  : Interfaces.C.int; -- most recent task error status
          Td_Delay        : Interfaces.C.int; -- delay/timeout ticks
+         Td_Events       : Td_Events_Storage; -- task events, post t2.0
       end record;
       pragma Convention (C, Task_Descriptor);
 
index 7918ed42d46cf2ca85fc23c433643122cca46e22..cd56ac272ec70aba2c27cf394d243528b395e98b 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---            Copyright (C) 1999-2005 Free Software Foundation, Inc.        --
+--          Copyright (C) 1999-2006, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNARL 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- --
@@ -43,6 +43,8 @@ pragma Polling (Off);
 --  checking operations. It causes infinite loops and other problems.
 
 package System.Stack_Checking.Operations is
+   pragma Preelaborate;
+
    procedure Update_Stack_Cache (Stack : Stack_Access);
    --  Set the stack cache for the current task. Note that this is only
    --  for optimization purposes, nothing can be assumed about the