diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-04 14:51:17 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-04 14:51:17 +0000 |
commit | fb4b35012085b8402e7ccb2f42283fd6ddb347fd (patch) | |
tree | 7394d0a56f7edb0d1590b851334f4abd92b00005 /gcc/ada/targparm.ads | |
parent | 5db81a3464b015386144b428943df1b5a0d12276 (diff) | |
download | gcc-fb4b35012085b8402e7ccb2f42283fd6ddb347fd.tar.gz |
2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
* targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
corresponding to the Preallocated_Stacks flags in System.
(Get_Target_Parameters): Including the processing for
Preallocated_Stacks.
* system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
used to signal whether the compiler creates the required stacks and
descriptors for the different tasks (when True) or it is done by the
underlying operating system at run time (when False).
It is initially set to False in all targets.
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
if it is supported by the target.
(Make_Task_Create_Call): Pass the stack address if it has been
previously created. Otherwise pass a Null_Address.
* snames.adb: Add _stack.
* snames.ads: Add Name_uStack. Required to allow the expander to
statically allocated task stacks.
* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
Stack_Address argument.
Check that its value is equal to Null_Address because this target does
not support the static stack allocation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88488 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/targparm.ads')
-rw-r--r-- | gcc/ada/targparm.ads | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/targparm.ads b/gcc/ada/targparm.ads index d7a25148e39..48f8c328559 100644 --- a/gcc/ada/targparm.ads +++ b/gcc/ada/targparm.ads @@ -345,6 +345,13 @@ package Targparm is -- -- The routine __gnat_handler_installed is not imported + Preallocated_Stacks_On_Target : Boolean; + -- If this flag is True, then the expander preallocates all task stacks + -- at compile time. If the flag is False, then task stacks are not pre- + -- allocated, and task stack allocation is the responsibility of the + -- run-time (which typically delegates the task to the underlying + -- operating system environment). + --------------------- -- Duration Format -- --------------------- |