summaryrefslogtreecommitdiffstats
path: root/gcc/ada/targparm.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-04 14:51:17 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-04 14:51:17 +0000
commitfb4b35012085b8402e7ccb2f42283fd6ddb347fd (patch)
tree7394d0a56f7edb0d1590b851334f4abd92b00005 /gcc/ada/targparm.adb
parent5db81a3464b015386144b428943df1b5a0d12276 (diff)
downloadppe42-gcc-fb4b35012085b8402e7ccb2f42283fd6ddb347fd.tar.gz
ppe42-gcc-fb4b35012085b8402e7ccb2f42283fd6ddb347fd.zip
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.adb')
-rw-r--r--gcc/ada/targparm.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb
index 7be260b9738..9447471007c 100644
--- a/gcc/ada/targparm.adb
+++ b/gcc/ada/targparm.adb
@@ -53,6 +53,7 @@ package body Targparm is
FFO, -- Fractional_Fixed_Ops
MOV, -- Machine_Overflows
MRN, -- Machine_Rounds
+ PAS, -- Preallocated_Stacks
S64, -- Support_64_Bit_Divides
SAG, -- Support_Aggregates
SCA, -- Support_Composite_Assign
@@ -94,6 +95,7 @@ package body Targparm is
FFO_Str : aliased constant Source_Buffer := "Fractional_Fixed_Ops";
MOV_Str : aliased constant Source_Buffer := "Machine_Overflows";
MRN_Str : aliased constant Source_Buffer := "Machine_Rounds";
+ PAS_Str : aliased constant Source_Buffer := "Preallocated_Stacks";
S64_Str : aliased constant Source_Buffer := "Support_64_Bit_Divides";
SAG_Str : aliased constant Source_Buffer := "Support_Aggregates";
SCA_Str : aliased constant Source_Buffer := "Support_Composite_Assign";
@@ -132,6 +134,7 @@ package body Targparm is
FFO_Str'Access,
MOV_Str'Access,
MRN_Str'Access,
+ PAS_Str'Access,
S64_Str'Access,
SAG_Str'Access,
SCA_Str'Access,
@@ -557,6 +560,7 @@ package body Targparm is
when FFO => Fractional_Fixed_Ops_On_Target := Result;
when MOV => Machine_Overflows_On_Target := Result;
when MRN => Machine_Rounds_On_Target := Result;
+ when PAS => Preallocated_Stacks_On_Target := Result;
when S64 => Support_64_Bit_Divides_On_Target := Result;
when SAG => Support_Aggregates_On_Target := Result;
when SCA => Support_Composite_Assign_On_Target := Result;
OpenPOWER on IntegriCloud