From 99f503294e07d2e5d7f351f6fe7475c5cec31fd8 Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Tue, 31 Oct 2006 19:12:23 +0100 Subject: [PATCH] s-stchop.ads: make this unit preelaborate. 2006-10-31 Olivier Hainque * 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 | 7 ++++++- gcc/ada/s-stchop.ads | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ada/s-stchop-vxworks.adb b/gcc/ada/s-stchop-vxworks.adb index 2da1be555ee..d3171a89717 100644 --- a/gcc/ada/s-stchop-vxworks.adb +++ b/gcc/ada/s-stchop-vxworks.adb @@ -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); diff --git a/gcc/ada/s-stchop.ads b/gcc/ada/s-stchop.ads index 7918ed42d46..cd56ac272ec 100644 --- a/gcc/ada/s-stchop.ads +++ b/gcc/ada/s-stchop.ads @@ -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 -- 2.30.2