From b23e28d55eb5f3f601b309786fae3b262643d20e Mon Sep 17 00:00:00 2001 From: Jose Ruiz Date: Mon, 4 Oct 2004 16:51:17 +0200 Subject: [PATCH] targparm.ads, [...] (Targparm_Tags): Add PAS value corresponding to the Preallocated_Stacks flags in System. 2004-10-04 Jose Ruiz * 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. From-SVN: r88488 --- gcc/ada/ChangeLog | 38 + gcc/ada/exp_ch9.adb | 91 +- gcc/ada/s-tarest.adb | 6 + gcc/ada/s-tarest.ads | 36 +- gcc/ada/snames.adb | 1 + gcc/ada/snames.ads | 1249 ++++++++++++++-------------- gcc/ada/system-aix.ads | 3 +- gcc/ada/system-darwin-ppc.ads | 1 + gcc/ada/system-freebsd-x86.ads | 3 +- gcc/ada/system-hpux.ads | 3 +- gcc/ada/system-interix.ads | 3 +- gcc/ada/system-irix-n32.ads | 1 + gcc/ada/system-irix-o32.ads | 1 + gcc/ada/system-linux-ia64.ads | 3 +- gcc/ada/system-linux-x86.ads | 3 +- gcc/ada/system-linux-x86_64.ads | 3 +- gcc/ada/system-lynxos-ppc.ads | 3 +- gcc/ada/system-lynxos-x86.ads | 3 +- gcc/ada/system-mingw.ads | 3 +- gcc/ada/system-os2.ads | 3 +- gcc/ada/system-solaris-sparc.ads | 3 +- gcc/ada/system-solaris-sparcv9.ads | 3 +- gcc/ada/system-solaris-x86.ads | 3 +- gcc/ada/system-tru64.ads | 3 +- gcc/ada/system-unixware.ads | 3 +- gcc/ada/system-vms-zcx.ads | 1 + gcc/ada/system-vms.ads | 1 + gcc/ada/system-vms_64.ads | 1 + gcc/ada/system-vxworks-alpha.ads | 3 +- gcc/ada/system-vxworks-m68k.ads | 3 +- gcc/ada/system-vxworks-mips.ads | 3 +- gcc/ada/system-vxworks-ppc.ads | 1 + gcc/ada/system-vxworks-sparcv9.ads | 3 +- gcc/ada/system-vxworks-x86.ads | 1 + gcc/ada/system-vxworks-xscale.ads | 3 +- gcc/ada/system.ads | 3 +- gcc/ada/targparm.adb | 4 + gcc/ada/targparm.ads | 7 + 38 files changed, 837 insertions(+), 669 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d54f9d13baa..f34a3a4b672 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,41 @@ +2004-10-04 Jose Ruiz + + * 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. + 2004-10-04 Thomas Quinot * usage.adb: Change "pragma inline" to "pragma Inline" in information diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index 1b07efaf321..133bf555b9d 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -55,10 +55,10 @@ with Sem_Util; use Sem_Util; with Sinfo; use Sinfo; with Snames; use Snames; with Stand; use Stand; +with Targparm; use Targparm; with Tbuild; use Tbuild; with Types; use Types; with Uintp; use Uintp; -with Opt; package body Exp_Ch9 is @@ -7141,13 +7141,16 @@ package body Exp_Ch9 is Tasknm : constant Name_Id := Chars (Tasktyp); Taskdef : constant Node_Id := Task_Definition (N); - Proc_Spec : Node_Id; - Rec_Decl : Node_Id; - Rec_Ent : Entity_Id; - Cdecls : List_Id; - Elab_Decl : Node_Id; - Size_Decl : Node_Id; - Body_Decl : Node_Id; + Proc_Spec : Node_Id; + Rec_Decl : Node_Id; + Rec_Ent : Entity_Id; + Cdecls : List_Id; + Elab_Decl : Node_Id; + Size_Decl : Node_Id; + Body_Decl : Node_Id; + Task_Size : Node_Id; + Ent_Stack : Entity_Id; + Decl_Stack : Node_Id; begin -- If already expanded, nothing to do @@ -7249,6 +7252,51 @@ package body Exp_Ch9 is end if; + -- Declare static stack (that is, created by the expander) if we + -- are using the Restricted run time on a bare board configuration. + + if Restricted_Profile + and then Preallocated_Stacks_On_Target + then + -- First we need to extract the appropriate stack size + + Ent_Stack := Make_Defining_Identifier (Loc, Name_uStack); + + if Present (Taskdef) and then Has_Storage_Size_Pragma (Taskdef) then + Task_Size := Relocate_Node ( + Expression (First ( + Pragma_Argument_Associations ( + Find_Task_Or_Protected_Pragma + (Taskdef, Name_Storage_Size))))); + else + Task_Size := + New_Reference_To (RTE (RE_Default_Stack_Size), Loc); + end if; + + Decl_Stack := Make_Component_Declaration (Loc, + Defining_Identifier => Ent_Stack, + + Component_Definition => + Make_Component_Definition (Loc, + Aliased_Present => True, + Subtype_Indication => Make_Subtype_Indication (Loc, + Subtype_Mark => + New_Occurrence_Of (RTE (RE_Storage_Array), Loc), + + Constraint => + Make_Index_Or_Discriminant_Constraint (Loc, + Constraints => New_List (Make_Range (Loc, + Low_Bound => Make_Integer_Literal (Loc, 1), + High_Bound => Convert_To (RTE (RE_Storage_Offset), + Task_Size))))))); + + Append_To (Cdecls, Decl_Stack); + + -- The appropriate alignment for the stack is ensured by the + -- run-time code in charge of task creation. + + end if; + -- Add components for entry families Collect_Entry_Families (Loc, Cdecls, Size_Decl, Tasktyp); @@ -8381,19 +8429,38 @@ package body Exp_Ch9 is -- Priority parameter. Set to Unspecified_Priority unless there is a -- priority pragma, in which case we take the value from the pragma. - if Present (Tdef) - and then Has_Priority_Pragma (Tdef) - then + if Present (Tdef) and then Has_Priority_Pragma (Tdef) then Append_To (Args, Make_Selected_Component (Loc, Prefix => Make_Identifier (Loc, Name_uInit), Selector_Name => Make_Identifier (Loc, Name_uPriority))); - else Append_To (Args, New_Reference_To (RTE (RE_Unspecified_Priority), Loc)); end if; + -- Optional Stack parameter + + if Restricted_Profile then + + -- If the stack has been preallocated by the expander then + -- pass its address. Otherwise, pass a null address. + + if Preallocated_Stacks_On_Target then + Append_To (Args, + Make_Attribute_Reference (Loc, + Prefix => Make_Selected_Component (Loc, + Prefix => Make_Identifier (Loc, Name_uInit), + Selector_Name => + Make_Identifier (Loc, Name_uStack)), + Attribute_Name => Name_Address)); + + else + Append_To (Args, + New_Reference_To (RTE (RE_Null_Address), Loc)); + end if; + end if; + -- Size parameter. If no Storage_Size pragma is present, then -- the size is taken from the taskZ variable for the type, which -- is either Unspecified_Size, or has been reset by the use of diff --git a/gcc/ada/s-tarest.adb b/gcc/ada/s-tarest.adb index 17c3ba6dffa..93126f0d3c7 100644 --- a/gcc/ada/s-tarest.adb +++ b/gcc/ada/s-tarest.adb @@ -376,6 +376,7 @@ package body System.Tasking.Restricted.Stages is procedure Create_Restricted_Task (Priority : Integer; + Stack_Address : System.Address; Size : System.Parameters.Size_Type; Task_Info : System.Task_Info.Task_Info_Type; State : Task_Procedure_Access; @@ -390,6 +391,11 @@ package body System.Tasking.Restricted.Stages is Success : Boolean; begin + -- Stack is not preallocated on this target, so that + -- Stack_Address must be null. + + pragma Assert (Stack_Address = Null_Address); + if Priority = Unspecified_Priority then Base_Priority := Self_ID.Common.Base_Priority; else diff --git a/gcc/ada/s-tarest.ads b/gcc/ada/s-tarest.ads index b8ec7c73bdc..f4aee5c7842 100644 --- a/gcc/ada/s-tarest.ads +++ b/gcc/ada/s-tarest.ads @@ -129,6 +129,7 @@ package System.Tasking.Restricted.Stages is procedure Create_Restricted_Task (Priority : Integer; + Stack_Address : System.Address; Size : System.Parameters.Size_Type; Task_Info : System.Task_Info.Task_Info_Type; State : Task_Procedure_Access; @@ -141,26 +142,39 @@ package System.Tasking.Restricted.Stages is -- This must be called to create a new task. -- -- Priority is the task's priority (assumed to be in the - -- System.Any_Priority'Range) + -- System.Any_Priority'Range) + -- + -- Stack_Address is the start address of the stack associated to the + -- task, in case it has been preallocated by the compiler; it is equal + -- to Null_Address when the stack needs to be allocated by the + -- underlying operating system. + -- -- Size is the stack size of the task to create + -- -- Task_Info is the task info associated with the created task, or - -- Unspecified_Task_Info if none. + -- Unspecified_Task_Info if none. + -- -- State is the compiler generated task's procedure body + -- -- Discriminants is a pointer to a limited record whose discriminants - -- are those of the task to create. This parameter should be passed as - -- the single argument to State. + -- are those of the task to create. This parameter should be passed as + -- the single argument to State. + -- -- Elaborated is a pointer to a Boolean that must be set to true on exit - -- if the task could be sucessfully elaborated. + -- if the task could be sucessfully elaborated. + -- -- Chain is a linked list of task that needs to be created. On exit, - -- Created_Task.Activation_Link will be Chain.T_ID, and Chain.T_ID - -- will be Created_Task (e.g the created task will be linked at the front - -- of Chain). + -- Created_Task.Activation_Link will be Chain.T_ID, and Chain.T_ID + -- will be Created_Task (e.g the created task will be linked at the front + -- of Chain). + -- -- Task_Image is a string created by the compiler that the - -- run time can store to ease the debugging and the - -- Ada.Task_Identification facility. + -- run time can store to ease the debugging and the + -- Ada.Task_Identification facility. + -- -- Created_Task is the resulting task. -- - -- This procedure can raise Storage_Error if the task creation failed. + -- This procedure can raise Storage_Error if the task creation fails procedure Activate_Restricted_Tasks (Chain_Access : Activation_Chain_Access); diff --git a/gcc/ada/snames.adb b/gcc/ada/snames.adb index 864c2deecc0..1c9644c3eea 100644 --- a/gcc/ada/snames.adb +++ b/gcc/ada/snames.adb @@ -82,6 +82,7 @@ package body Snames is "_secondary_stack#" & "_service#" & "_size#" & + "_stack#" & "_tags#" & "_task#" & "_task_id#" & diff --git a/gcc/ada/snames.ads b/gcc/ada/snames.ads index cb3b9d77bcc..bd1f1ea8935 100644 --- a/gcc/ada/snames.ads +++ b/gcc/ada/snames.ads @@ -165,133 +165,134 @@ package Snames is Name_uSecondary_Stack : constant Name_Id := N + 022; Name_uService : constant Name_Id := N + 023; Name_uSize : constant Name_Id := N + 024; - Name_uTags : constant Name_Id := N + 025; - Name_uTask : constant Name_Id := N + 026; - Name_uTask_Id : constant Name_Id := N + 027; - Name_uTask_Info : constant Name_Id := N + 028; - Name_uTask_Name : constant Name_Id := N + 029; - Name_uTrace_Sp : constant Name_Id := N + 030; + Name_uStack : constant Name_Id := N + 025; + Name_uTags : constant Name_Id := N + 026; + Name_uTask : constant Name_Id := N + 027; + Name_uTask_Id : constant Name_Id := N + 028; + Name_uTask_Info : constant Name_Id := N + 029; + Name_uTask_Name : constant Name_Id := N + 030; + Name_uTrace_Sp : constant Name_Id := N + 031; -- Names of routines in Ada.Finalization, needed by expander - Name_Initialize : constant Name_Id := N + 031; - Name_Adjust : constant Name_Id := N + 032; - Name_Finalize : constant Name_Id := N + 033; + Name_Initialize : constant Name_Id := N + 032; + Name_Adjust : constant Name_Id := N + 033; + Name_Finalize : constant Name_Id := N + 034; -- Names of fields declared in System.Finalization_Implementation, -- needed by the expander when generating code for finalization. - Name_Next : constant Name_Id := N + 034; - Name_Prev : constant Name_Id := N + 035; + Name_Next : constant Name_Id := N + 035; + Name_Prev : constant Name_Id := N + 036; -- Names of TSS routines for implementation of DSA over PolyORB - Name_uTypeCode : constant Name_Id := N + 036; - Name_uFrom_Any : constant Name_Id := N + 037; - Name_uTo_Any : constant Name_Id := N + 038; + Name_uTypeCode : constant Name_Id := N + 037; + Name_uFrom_Any : constant Name_Id := N + 038; + Name_uTo_Any : constant Name_Id := N + 039; -- Names of allocation routines, also needed by expander - Name_Allocate : constant Name_Id := N + 039; - Name_Deallocate : constant Name_Id := N + 040; - Name_Dereference : constant Name_Id := N + 041; + Name_Allocate : constant Name_Id := N + 040; + Name_Deallocate : constant Name_Id := N + 041; + Name_Dereference : constant Name_Id := N + 042; -- Names of Text_IO generic subpackages (see Rtsfind.Text_IO_Kludge) - First_Text_IO_Package : constant Name_Id := N + 042; - Name_Decimal_IO : constant Name_Id := N + 042; - Name_Enumeration_IO : constant Name_Id := N + 043; - Name_Fixed_IO : constant Name_Id := N + 044; - Name_Float_IO : constant Name_Id := N + 045; - Name_Integer_IO : constant Name_Id := N + 046; - Name_Modular_IO : constant Name_Id := N + 047; - Last_Text_IO_Package : constant Name_Id := N + 047; + First_Text_IO_Package : constant Name_Id := N + 043; + Name_Decimal_IO : constant Name_Id := N + 043; + Name_Enumeration_IO : constant Name_Id := N + 044; + Name_Fixed_IO : constant Name_Id := N + 045; + Name_Float_IO : constant Name_Id := N + 046; + Name_Integer_IO : constant Name_Id := N + 047; + Name_Modular_IO : constant Name_Id := N + 048; + Last_Text_IO_Package : constant Name_Id := N + 048; subtype Text_IO_Package_Name is Name_Id range First_Text_IO_Package .. Last_Text_IO_Package; -- Names of files in library for Ada.Text_IO and Ada.Wide_Text_IO - Name_a_textio : constant Name_Id := N + 048; - Name_a_witeio : constant Name_Id := N + 049; + Name_a_textio : constant Name_Id := N + 049; + Name_a_witeio : constant Name_Id := N + 050; -- Some miscellaneous names used for error detection/recovery - Name_Const : constant Name_Id := N + 050; - Name_Error : constant Name_Id := N + 051; - Name_Go : constant Name_Id := N + 052; - Name_Put : constant Name_Id := N + 053; - Name_Put_Line : constant Name_Id := N + 054; - Name_To : constant Name_Id := N + 055; + Name_Const : constant Name_Id := N + 051; + Name_Error : constant Name_Id := N + 052; + Name_Go : constant Name_Id := N + 053; + Name_Put : constant Name_Id := N + 054; + Name_Put_Line : constant Name_Id := N + 055; + Name_To : constant Name_Id := N + 056; -- Names for packages that are treated specially by the compiler - Name_Finalization : constant Name_Id := N + 056; - Name_Finalization_Root : constant Name_Id := N + 057; - Name_Interfaces : constant Name_Id := N + 058; - Name_Standard : constant Name_Id := N + 059; - Name_System : constant Name_Id := N + 060; - Name_Text_IO : constant Name_Id := N + 061; - Name_Wide_Text_IO : constant Name_Id := N + 062; + Name_Finalization : constant Name_Id := N + 057; + Name_Finalization_Root : constant Name_Id := N + 058; + Name_Interfaces : constant Name_Id := N + 059; + Name_Standard : constant Name_Id := N + 060; + Name_System : constant Name_Id := N + 061; + Name_Text_IO : constant Name_Id := N + 062; + Name_Wide_Text_IO : constant Name_Id := N + 063; -- Names of implementations of the distributed systems annex - Name_No_DSA : constant Name_Id := N + 063; - Name_GLADE_DSA : constant Name_Id := N + 064; - Name_PolyORB_DSA : constant Name_Id := N + 065; + Name_No_DSA : constant Name_Id := N + 064; + Name_GLADE_DSA : constant Name_Id := N + 065; + Name_PolyORB_DSA : constant Name_Id := N + 066; -- Names of identifiers used in expanding distribution stubs - Name_Addr : constant Name_Id := N + 066; - Name_Async : constant Name_Id := N + 067; - Name_Get_Active_Partition_ID : constant Name_Id := N + 068; - Name_Get_RCI_Package_Receiver : constant Name_Id := N + 069; - Name_Get_RCI_Package_Ref : constant Name_Id := N + 070; - Name_Origin : constant Name_Id := N + 071; - Name_Params : constant Name_Id := N + 072; - Name_Partition : constant Name_Id := N + 073; - Name_Partition_Interface : constant Name_Id := N + 074; - Name_Ras : constant Name_Id := N + 075; - Name_Call : constant Name_Id := N + 076; - Name_RCI_Name : constant Name_Id := N + 077; - Name_Receiver : constant Name_Id := N + 078; - Name_Result : constant Name_Id := N + 079; - Name_Rpc : constant Name_Id := N + 080; - Name_Subp_Id : constant Name_Id := N + 081; - Name_Operation : constant Name_Id := N + 082; - Name_Argument : constant Name_Id := N + 083; - Name_Arg_Modes : constant Name_Id := N + 084; - Name_Handler : constant Name_Id := N + 085; - Name_Target : constant Name_Id := N + 086; - Name_Req : constant Name_Id := N + 087; - Name_Obj_TypeCode : constant Name_Id := N + 088; - Name_Stub : constant Name_Id := N + 089; + Name_Addr : constant Name_Id := N + 067; + Name_Async : constant Name_Id := N + 068; + Name_Get_Active_Partition_ID : constant Name_Id := N + 069; + Name_Get_RCI_Package_Receiver : constant Name_Id := N + 070; + Name_Get_RCI_Package_Ref : constant Name_Id := N + 071; + Name_Origin : constant Name_Id := N + 072; + Name_Params : constant Name_Id := N + 073; + Name_Partition : constant Name_Id := N + 074; + Name_Partition_Interface : constant Name_Id := N + 075; + Name_Ras : constant Name_Id := N + 076; + Name_Call : constant Name_Id := N + 077; + Name_RCI_Name : constant Name_Id := N + 078; + Name_Receiver : constant Name_Id := N + 079; + Name_Result : constant Name_Id := N + 080; + Name_Rpc : constant Name_Id := N + 081; + Name_Subp_Id : constant Name_Id := N + 082; + Name_Operation : constant Name_Id := N + 083; + Name_Argument : constant Name_Id := N + 084; + Name_Arg_Modes : constant Name_Id := N + 085; + Name_Handler : constant Name_Id := N + 086; + Name_Target : constant Name_Id := N + 087; + Name_Req : constant Name_Id := N + 088; + Name_Obj_TypeCode : constant Name_Id := N + 089; + Name_Stub : constant Name_Id := N + 090; -- Operator Symbol entries. The actual names have an upper case O at -- the start in place of the Op_ prefix (e.g. the actual name that -- corresponds to Name_Op_Abs is "Oabs". - First_Operator_Name : constant Name_Id := N + 090; - Name_Op_Abs : constant Name_Id := N + 090; -- "abs" - Name_Op_And : constant Name_Id := N + 091; -- "and" - Name_Op_Mod : constant Name_Id := N + 092; -- "mod" - Name_Op_Not : constant Name_Id := N + 093; -- "not" - Name_Op_Or : constant Name_Id := N + 094; -- "or" - Name_Op_Rem : constant Name_Id := N + 095; -- "rem" - Name_Op_Xor : constant Name_Id := N + 096; -- "xor" - Name_Op_Eq : constant Name_Id := N + 097; -- "=" - Name_Op_Ne : constant Name_Id := N + 098; -- "/=" - Name_Op_Lt : constant Name_Id := N + 099; -- "<" - Name_Op_Le : constant Name_Id := N + 100; -- "<=" - Name_Op_Gt : constant Name_Id := N + 101; -- ">" - Name_Op_Ge : constant Name_Id := N + 102; -- ">=" - Name_Op_Add : constant Name_Id := N + 103; -- "+" - Name_Op_Subtract : constant Name_Id := N + 104; -- "-" - Name_Op_Concat : constant Name_Id := N + 105; -- "&" - Name_Op_Multiply : constant Name_Id := N + 106; -- "*" - Name_Op_Divide : constant Name_Id := N + 107; -- "/" - Name_Op_Expon : constant Name_Id := N + 108; -- "**" - Last_Operator_Name : constant Name_Id := N + 108; + First_Operator_Name : constant Name_Id := N + 091; + Name_Op_Abs : constant Name_Id := N + 091; -- "abs" + Name_Op_And : constant Name_Id := N + 092; -- "and" + Name_Op_Mod : constant Name_Id := N + 093; -- "mod" + Name_Op_Not : constant Name_Id := N + 094; -- "not" + Name_Op_Or : constant Name_Id := N + 095; -- "or" + Name_Op_Rem : constant Name_Id := N + 096; -- "rem" + Name_Op_Xor : constant Name_Id := N + 097; -- "xor" + Name_Op_Eq : constant Name_Id := N + 098; -- "=" + Name_Op_Ne : constant Name_Id := N + 099; -- "/=" + Name_Op_Lt : constant Name_Id := N + 100; -- "<" + Name_Op_Le : constant Name_Id := N + 101; -- "<=" + Name_Op_Gt : constant Name_Id := N + 102; -- ">" + Name_Op_Ge : constant Name_Id := N + 103; -- ">=" + Name_Op_Add : constant Name_Id := N + 104; -- "+" + Name_Op_Subtract : constant Name_Id := N + 105; -- "-" + Name_Op_Concat : constant Name_Id := N + 106; -- "&" + Name_Op_Multiply : constant Name_Id := N + 107; -- "*" + Name_Op_Divide : constant Name_Id := N + 108; -- "/" + Name_Op_Expon : constant Name_Id := N + 109; -- "**" + Last_Operator_Name : constant Name_Id := N + 109; -- Names for all pragmas recognized by GNAT. The entries with the comment -- "Ada 83" are pragmas that are defined in Ada 83, but not in Ada 95. @@ -314,64 +315,64 @@ package Snames is -- only in GNAT for the AAMP. They are ignored in other versions with -- appropriate warnings. - First_Pragma_Name : constant Name_Id := N + 109; + First_Pragma_Name : constant Name_Id := N + 110; -- Configuration pragmas are grouped at start - Name_Ada_83 : constant Name_Id := N + 109; -- GNAT - Name_Ada_95 : constant Name_Id := N + 110; -- GNAT - Name_Ada_05 : constant Name_Id := N + 111; -- GNAT - Name_C_Pass_By_Copy : constant Name_Id := N + 112; -- GNAT - Name_Compile_Time_Warning : constant Name_Id := N + 113; -- GNAT - Name_Component_Alignment : constant Name_Id := N + 114; -- GNAT - Name_Convention_Identifier : constant Name_Id := N + 115; -- GNAT - Name_Detect_Blocking : constant Name_Id := N + 116; -- Ada05 - Name_Discard_Names : constant Name_Id := N + 117; - Name_Elaboration_Checks : constant Name_Id := N + 118; -- GNAT - Name_Eliminate : constant Name_Id := N + 119; -- GNAT - Name_Explicit_Overriding : constant Name_Id := N + 120; - Name_Extend_System : constant Name_Id := N + 121; -- GNAT - Name_Extensions_Allowed : constant Name_Id := N + 122; -- GNAT - Name_External_Name_Casing : constant Name_Id := N + 123; -- GNAT - Name_Float_Representation : constant Name_Id := N + 124; -- GNAT - Name_Initialize_Scalars : constant Name_Id := N + 125; -- GNAT - Name_Interrupt_State : constant Name_Id := N + 126; -- GNAT - Name_License : constant Name_Id := N + 127; -- GNAT - Name_Locking_Policy : constant Name_Id := N + 128; - Name_Long_Float : constant Name_Id := N + 129; -- VMS - Name_No_Run_Time : constant Name_Id := N + 130; -- GNAT - Name_No_Strict_Aliasing : constant Name_Id := N + 131; -- GNAT - Name_Normalize_Scalars : constant Name_Id := N + 132; - Name_Polling : constant Name_Id := N + 133; -- GNAT - Name_Persistent_Data : constant Name_Id := N + 134; -- GNAT - Name_Persistent_Object : constant Name_Id := N + 135; -- GNAT - Name_Profile : constant Name_Id := N + 136; -- Ada05 - Name_Profile_Warnings : constant Name_Id := N + 137; -- GNAT - Name_Propagate_Exceptions : constant Name_Id := N + 138; -- GNAT - Name_Queuing_Policy : constant Name_Id := N + 139; - Name_Ravenscar : constant Name_Id := N + 140; - Name_Restricted_Run_Time : constant Name_Id := N + 141; - Name_Restrictions : constant Name_Id := N + 142; - Name_Restriction_Warnings : constant Name_Id := N + 143; -- GNAT - Name_Reviewable : constant Name_Id := N + 144; - Name_Source_File_Name : constant Name_Id := N + 145; -- GNAT - Name_Source_File_Name_Project : constant Name_Id := N + 146; -- GNAT - Name_Style_Checks : constant Name_Id := N + 147; -- GNAT - Name_Suppress : constant Name_Id := N + 148; - Name_Suppress_Exception_Locations : constant Name_Id := N + 149; -- GNAT - Name_Task_Dispatching_Policy : constant Name_Id := N + 150; - Name_Universal_Data : constant Name_Id := N + 151; -- AAMP - Name_Unsuppress : constant Name_Id := N + 152; -- GNAT - Name_Use_VADS_Size : constant Name_Id := N + 153; -- GNAT - Name_Validity_Checks : constant Name_Id := N + 154; -- GNAT - Name_Warnings : constant Name_Id := N + 155; -- GNAT - Last_Configuration_Pragma_Name : constant Name_Id := N + 155; + Name_Ada_83 : constant Name_Id := N + 110; -- GNAT + Name_Ada_95 : constant Name_Id := N + 111; -- GNAT + Name_Ada_05 : constant Name_Id := N + 112; -- GNAT + Name_C_Pass_By_Copy : constant Name_Id := N + 113; -- GNAT + Name_Compile_Time_Warning : constant Name_Id := N + 114; -- GNAT + Name_Component_Alignment : constant Name_Id := N + 115; -- GNAT + Name_Convention_Identifier : constant Name_Id := N + 116; -- GNAT + Name_Detect_Blocking : constant Name_Id := N + 117; -- Ada05 + Name_Discard_Names : constant Name_Id := N + 118; + Name_Elaboration_Checks : constant Name_Id := N + 119; -- GNAT + Name_Eliminate : constant Name_Id := N + 120; -- GNAT + Name_Explicit_Overriding : constant Name_Id := N + 121; + Name_Extend_System : constant Name_Id := N + 122; -- GNAT + Name_Extensions_Allowed : constant Name_Id := N + 123; -- GNAT + Name_External_Name_Casing : constant Name_Id := N + 124; -- GNAT + Name_Float_Representation : constant Name_Id := N + 125; -- GNAT + Name_Initialize_Scalars : constant Name_Id := N + 126; -- GNAT + Name_Interrupt_State : constant Name_Id := N + 127; -- GNAT + Name_License : constant Name_Id := N + 128; -- GNAT + Name_Locking_Policy : constant Name_Id := N + 129; + Name_Long_Float : constant Name_Id := N + 130; -- VMS + Name_No_Run_Time : constant Name_Id := N + 131; -- GNAT + Name_No_Strict_Aliasing : constant Name_Id := N + 132; -- GNAT + Name_Normalize_Scalars : constant Name_Id := N + 133; + Name_Polling : constant Name_Id := N + 134; -- GNAT + Name_Persistent_Data : constant Name_Id := N + 135; -- GNAT + Name_Persistent_Object : constant Name_Id := N + 136; -- GNAT + Name_Profile : constant Name_Id := N + 137; -- Ada05 + Name_Profile_Warnings : constant Name_Id := N + 138; -- GNAT + Name_Propagate_Exceptions : constant Name_Id := N + 139; -- GNAT + Name_Queuing_Policy : constant Name_Id := N + 140; + Name_Ravenscar : constant Name_Id := N + 141; + Name_Restricted_Run_Time : constant Name_Id := N + 142; + Name_Restrictions : constant Name_Id := N + 143; + Name_Restriction_Warnings : constant Name_Id := N + 144; -- GNAT + Name_Reviewable : constant Name_Id := N + 145; + Name_Source_File_Name : constant Name_Id := N + 146; -- GNAT + Name_Source_File_Name_Project : constant Name_Id := N + 147; -- GNAT + Name_Style_Checks : constant Name_Id := N + 148; -- GNAT + Name_Suppress : constant Name_Id := N + 149; + Name_Suppress_Exception_Locations : constant Name_Id := N + 150; -- GNAT + Name_Task_Dispatching_Policy : constant Name_Id := N + 151; + Name_Universal_Data : constant Name_Id := N + 152; -- AAMP + Name_Unsuppress : constant Name_Id := N + 153; -- GNAT + Name_Use_VADS_Size : constant Name_Id := N + 154; -- GNAT + Name_Validity_Checks : constant Name_Id := N + 155; -- GNAT + Name_Warnings : constant Name_Id := N + 156; -- GNAT + Last_Configuration_Pragma_Name : constant Name_Id := N + 156; -- Remaining pragma names - Name_Abort_Defer : constant Name_Id := N + 156; -- GNAT - Name_All_Calls_Remote : constant Name_Id := N + 157; - Name_Annotate : constant Name_Id := N + 158; -- GNAT + Name_Abort_Defer : constant Name_Id := N + 157; -- GNAT + Name_All_Calls_Remote : constant Name_Id := N + 158; + Name_Annotate : constant Name_Id := N + 159; -- GNAT -- Note: AST_Entry is not in this list because its name matches the -- name of the corresponding attribute. However, it is included in the @@ -379,78 +380,78 @@ package Snames is -- and Check_Pragma_Id correctly recognize and process Name_AST_Entry. -- AST_Entry is a VMS specific pragma. - Name_Assert : constant Name_Id := N + 159; -- GNAT - Name_Asynchronous : constant Name_Id := N + 160; - Name_Atomic : constant Name_Id := N + 161; - Name_Atomic_Components : constant Name_Id := N + 162; - Name_Attach_Handler : constant Name_Id := N + 163; - Name_Comment : constant Name_Id := N + 164; -- GNAT - Name_Common_Object : constant Name_Id := N + 165; -- GNAT - Name_Complex_Representation : constant Name_Id := N + 166; -- GNAT - Name_Controlled : constant Name_Id := N + 167; - Name_Convention : constant Name_Id := N + 168; - Name_CPP_Class : constant Name_Id := N + 169; -- GNAT - Name_CPP_Constructor : constant Name_Id := N + 170; -- GNAT - Name_CPP_Virtual : constant Name_Id := N + 171; -- GNAT - Name_CPP_Vtable : constant Name_Id := N + 172; -- GNAT - Name_Debug : constant Name_Id := N + 173; -- GNAT - Name_Elaborate : constant Name_Id := N + 174; -- Ada 83 - Name_Elaborate_All : constant Name_Id := N + 175; - Name_Elaborate_Body : constant Name_Id := N + 176; - Name_Export : constant Name_Id := N + 177; - Name_Export_Exception : constant Name_Id := N + 178; -- VMS - Name_Export_Function : constant Name_Id := N + 179; -- GNAT - Name_Export_Object : constant Name_Id := N + 180; -- GNAT - Name_Export_Procedure : constant Name_Id := N + 181; -- GNAT - Name_Export_Value : constant Name_Id := N + 182; -- GNAT - Name_Export_Valued_Procedure : constant Name_Id := N + 183; -- GNAT - Name_External : constant Name_Id := N + 184; -- GNAT - Name_Finalize_Storage_Only : constant Name_Id := N + 185; -- GNAT - Name_Ident : constant Name_Id := N + 186; -- VMS - Name_Import : constant Name_Id := N + 187; - Name_Import_Exception : constant Name_Id := N + 188; -- VMS - Name_Import_Function : constant Name_Id := N + 189; -- GNAT - Name_Import_Object : constant Name_Id := N + 190; -- GNAT - Name_Import_Procedure : constant Name_Id := N + 191; -- GNAT - Name_Import_Valued_Procedure : constant Name_Id := N + 192; -- GNAT - Name_Inline : constant Name_Id := N + 193; - Name_Inline_Always : constant Name_Id := N + 194; -- GNAT - Name_Inline_Generic : constant Name_Id := N + 195; -- GNAT - Name_Inspection_Point : constant Name_Id := N + 196; - Name_Interface : constant Name_Id := N + 197; -- Ada 83 - Name_Interface_Name : constant Name_Id := N + 198; -- GNAT - Name_Interrupt_Handler : constant Name_Id := N + 199; - Name_Interrupt_Priority : constant Name_Id := N + 200; - Name_Java_Constructor : constant Name_Id := N + 201; -- GNAT - Name_Java_Interface : constant Name_Id := N + 202; -- GNAT - Name_Keep_Names : constant Name_Id := N + 203; -- GNAT - Name_Link_With : constant Name_Id := N + 204; -- GNAT - Name_Linker_Alias : constant Name_Id := N + 205; -- GNAT - Name_Linker_Options : constant Name_Id := N + 206; - Name_Linker_Section : constant Name_Id := N + 207; -- GNAT - Name_List : constant Name_Id := N + 208; - Name_Machine_Attribute : constant Name_Id := N + 209; -- GNAT - Name_Main : constant Name_Id := N + 210; -- GNAT - Name_Main_Storage : constant Name_Id := N + 211; -- GNAT - Name_Memory_Size : constant Name_Id := N + 212; -- Ada 83 - Name_No_Return : constant Name_Id := N + 213; -- GNAT - Name_Obsolescent : constant Name_Id := N + 214; -- GNAT - Name_Optimize : constant Name_Id := N + 215; - Name_Optional_Overriding : constant Name_Id := N + 216; - Name_Overriding : constant Name_Id := N + 217; - Name_Pack : constant Name_Id := N + 218; - Name_Page : constant Name_Id := N + 219; - Name_Passive : constant Name_Id := N + 220; -- GNAT - Name_Preelaborate : constant Name_Id := N + 221; - Name_Priority : constant Name_Id := N + 222; - Name_Psect_Object : constant Name_Id := N + 223; -- VMS - Name_Pure : constant Name_Id := N + 224; - Name_Pure_Function : constant Name_Id := N + 225; -- GNAT - Name_Remote_Call_Interface : constant Name_Id := N + 226; - Name_Remote_Types : constant Name_Id := N + 227; - Name_Share_Generic : constant Name_Id := N + 228; -- GNAT - Name_Shared : constant Name_Id := N + 229; -- Ada 83 - Name_Shared_Passive : constant Name_Id := N + 230; + Name_Assert : constant Name_Id := N + 160; -- GNAT + Name_Asynchronous : constant Name_Id := N + 161; + Name_Atomic : constant Name_Id := N + 162; + Name_Atomic_Components : constant Name_Id := N + 163; + Name_Attach_Handler : constant Name_Id := N + 164; + Name_Comment : constant Name_Id := N + 165; -- GNAT + Name_Common_Object : constant Name_Id := N + 166; -- GNAT + Name_Complex_Representation : constant Name_Id := N + 167; -- GNAT + Name_Controlled : constant Name_Id := N + 168; + Name_Convention : constant Name_Id := N + 169; + Name_CPP_Class : constant Name_Id := N + 170; -- GNAT + Name_CPP_Constructor : constant Name_Id := N + 171; -- GNAT + Name_CPP_Virtual : constant Name_Id := N + 172; -- GNAT + Name_CPP_Vtable : constant Name_Id := N + 173; -- GNAT + Name_Debug : constant Name_Id := N + 174; -- GNAT + Name_Elaborate : constant Name_Id := N + 175; -- Ada 83 + Name_Elaborate_All : constant Name_Id := N + 176; + Name_Elaborate_Body : constant Name_Id := N + 177; + Name_Export : constant Name_Id := N + 178; + Name_Export_Exception : constant Name_Id := N + 179; -- VMS + Name_Export_Function : constant Name_Id := N + 180; -- GNAT + Name_Export_Object : constant Name_Id := N + 181; -- GNAT + Name_Export_Procedure : constant Name_Id := N + 182; -- GNAT + Name_Export_Value : constant Name_Id := N + 183; -- GNAT + Name_Export_Valued_Procedure : constant Name_Id := N + 184; -- GNAT + Name_External : constant Name_Id := N + 185; -- GNAT + Name_Finalize_Storage_Only : constant Name_Id := N + 186; -- GNAT + Name_Ident : constant Name_Id := N + 187; -- VMS + Name_Import : constant Name_Id := N + 188; + Name_Import_Exception : constant Name_Id := N + 189; -- VMS + Name_Import_Function : constant Name_Id := N + 190; -- GNAT + Name_Import_Object : constant Name_Id := N + 191; -- GNAT + Name_Import_Procedure : constant Name_Id := N + 192; -- GNAT + Name_Import_Valued_Procedure : constant Name_Id := N + 193; -- GNAT + Name_Inline : constant Name_Id := N + 194; + Name_Inline_Always : constant Name_Id := N + 195; -- GNAT + Name_Inline_Generic : constant Name_Id := N + 196; -- GNAT + Name_Inspection_Point : constant Name_Id := N + 197; + Name_Interface : constant Name_Id := N + 198; -- Ada 83 + Name_Interface_Name : constant Name_Id := N + 199; -- GNAT + Name_Interrupt_Handler : constant Name_Id := N + 200; + Name_Interrupt_Priority : constant Name_Id := N + 201; + Name_Java_Constructor : constant Name_Id := N + 202; -- GNAT + Name_Java_Interface : constant Name_Id := N + 203; -- GNAT + Name_Keep_Names : constant Name_Id := N + 204; -- GNAT + Name_Link_With : constant Name_Id := N + 205; -- GNAT + Name_Linker_Alias : constant Name_Id := N + 206; -- GNAT + Name_Linker_Options : constant Name_Id := N + 207; + Name_Linker_Section : constant Name_Id := N + 208; -- GNAT + Name_List : constant Name_Id := N + 209; + Name_Machine_Attribute : constant Name_Id := N + 210; -- GNAT + Name_Main : constant Name_Id := N + 211; -- GNAT + Name_Main_Storage : constant Name_Id := N + 212; -- GNAT + Name_Memory_Size : constant Name_Id := N + 213; -- Ada 83 + Name_No_Return : constant Name_Id := N + 214; -- GNAT + Name_Obsolescent : constant Name_Id := N + 215; -- GNAT + Name_Optimize : constant Name_Id := N + 216; + Name_Optional_Overriding : constant Name_Id := N + 217; + Name_Overriding : constant Name_Id := N + 218; + Name_Pack : constant Name_Id := N + 219; + Name_Page : constant Name_Id := N + 220; + Name_Passive : constant Name_Id := N + 221; -- GNAT + Name_Preelaborate : constant Name_Id := N + 222; + Name_Priority : constant Name_Id := N + 223; + Name_Psect_Object : constant Name_Id := N + 224; -- VMS + Name_Pure : constant Name_Id := N + 225; + Name_Pure_Function : constant Name_Id := N + 226; -- GNAT + Name_Remote_Call_Interface : constant Name_Id := N + 227; + Name_Remote_Types : constant Name_Id := N + 228; + Name_Share_Generic : constant Name_Id := N + 229; -- GNAT + Name_Shared : constant Name_Id := N + 230; -- Ada 83 + Name_Shared_Passive : constant Name_Id := N + 231; -- Note: Storage_Size is not in this list because its name matches the -- name of the corresponding attribute. However, it is included in the @@ -460,27 +461,27 @@ package Snames is -- Note: Storage_Unit is also omitted from the list because of a clash -- with an attribute name, and is treated similarly. - Name_Source_Reference : constant Name_Id := N + 231; -- GNAT - Name_Stream_Convert : constant Name_Id := N + 232; -- GNAT - Name_Subtitle : constant Name_Id := N + 233; -- GNAT - Name_Suppress_All : constant Name_Id := N + 234; -- GNAT - Name_Suppress_Debug_Info : constant Name_Id := N + 235; -- GNAT - Name_Suppress_Initialization : constant Name_Id := N + 236; -- GNAT - Name_System_Name : constant Name_Id := N + 237; -- Ada 83 - Name_Task_Info : constant Name_Id := N + 238; -- GNAT - Name_Task_Name : constant Name_Id := N + 239; -- GNAT - Name_Task_Storage : constant Name_Id := N + 240; -- VMS - Name_Thread_Body : constant Name_Id := N + 241; -- GNAT - Name_Time_Slice : constant Name_Id := N + 242; -- GNAT - Name_Title : constant Name_Id := N + 243; -- GNAT - Name_Unchecked_Union : constant Name_Id := N + 244; -- GNAT - Name_Unimplemented_Unit : constant Name_Id := N + 245; -- GNAT - Name_Unreferenced : constant Name_Id := N + 246; -- GNAT - Name_Unreserve_All_Interrupts : constant Name_Id := N + 247; -- GNAT - Name_Volatile : constant Name_Id := N + 248; - Name_Volatile_Components : constant Name_Id := N + 249; - Name_Weak_External : constant Name_Id := N + 250; -- GNAT - Last_Pragma_Name : constant Name_Id := N + 250; + Name_Source_Reference : constant Name_Id := N + 232; -- GNAT + Name_Stream_Convert : constant Name_Id := N + 233; -- GNAT + Name_Subtitle : constant Name_Id := N + 234; -- GNAT + Name_Suppress_All : constant Name_Id := N + 235; -- GNAT + Name_Suppress_Debug_Info : constant Name_Id := N + 236; -- GNAT + Name_Suppress_Initialization : constant Name_Id := N + 237; -- GNAT + Name_System_Name : constant Name_Id := N + 238; -- Ada 83 + Name_Task_Info : constant Name_Id := N + 239; -- GNAT + Name_Task_Name : constant Name_Id := N + 240; -- GNAT + Name_Task_Storage : constant Name_Id := N + 241; -- VMS + Name_Thread_Body : constant Name_Id := N + 242; -- GNAT + Name_Time_Slice : constant Name_Id := N + 243; -- GNAT + Name_Title : constant Name_Id := N + 244; -- GNAT + Name_Unchecked_Union : constant Name_Id := N + 245; -- GNAT + Name_Unimplemented_Unit : constant Name_Id := N + 246; -- GNAT + Name_Unreferenced : constant Name_Id := N + 247; -- GNAT + Name_Unreserve_All_Interrupts : constant Name_Id := N + 248; -- GNAT + Name_Volatile : constant Name_Id := N + 249; + Name_Volatile_Components : constant Name_Id := N + 250; + Name_Weak_External : constant Name_Id := N + 251; -- GNAT + Last_Pragma_Name : constant Name_Id := N + 251; -- Language convention names for pragma Convention/Export/Import/Interface -- Note that Name_C is not included in this list, since it was already @@ -491,105 +492,105 @@ package Snames is -- Entry and Protected, this is because these conventions cannot be -- specified by a pragma. - First_Convention_Name : constant Name_Id := N + 251; - Name_Ada : constant Name_Id := N + 251; - Name_Assembler : constant Name_Id := N + 252; - Name_COBOL : constant Name_Id := N + 253; - Name_CPP : constant Name_Id := N + 254; - Name_Fortran : constant Name_Id := N + 255; - Name_Intrinsic : constant Name_Id := N + 256; - Name_Java : constant Name_Id := N + 257; - Name_Stdcall : constant Name_Id := N + 258; - Name_Stubbed : constant Name_Id := N + 259; - Last_Convention_Name : constant Name_Id := N + 259; + First_Convention_Name : constant Name_Id := N + 252; + Name_Ada : constant Name_Id := N + 252; + Name_Assembler : constant Name_Id := N + 253; + Name_COBOL : constant Name_Id := N + 254; + Name_CPP : constant Name_Id := N + 255; + Name_Fortran : constant Name_Id := N + 256; + Name_Intrinsic : constant Name_Id := N + 257; + Name_Java : constant Name_Id := N + 258; + Name_Stdcall : constant Name_Id := N + 259; + Name_Stubbed : constant Name_Id := N + 260; + Last_Convention_Name : constant Name_Id := N + 260; -- The following names are preset as synonyms for Assembler - Name_Asm : constant Name_Id := N + 260; - Name_Assembly : constant Name_Id := N + 261; + Name_Asm : constant Name_Id := N + 261; + Name_Assembly : constant Name_Id := N + 262; -- The following names are preset as synonyms for C - Name_Default : constant Name_Id := N + 262; + Name_Default : constant Name_Id := N + 263; -- Name_Exernal (previously defined as pragma) -- The following names are present as synonyms for Stdcall - Name_DLL : constant Name_Id := N + 263; - Name_Win32 : constant Name_Id := N + 264; + Name_DLL : constant Name_Id := N + 264; + Name_Win32 : constant Name_Id := N + 265; -- Other special names used in processing pragmas - Name_As_Is : constant Name_Id := N + 265; - Name_Body_File_Name : constant Name_Id := N + 266; - Name_Boolean_Entry_Barriers : constant Name_Id := N + 267; - Name_Casing : constant Name_Id := N + 268; - Name_Code : constant Name_Id := N + 269; - Name_Component : constant Name_Id := N + 270; - Name_Component_Size_4 : constant Name_Id := N + 271; - Name_Copy : constant Name_Id := N + 272; - Name_D_Float : constant Name_Id := N + 273; - Name_Descriptor : constant Name_Id := N + 274; - Name_Dot_Replacement : constant Name_Id := N + 275; - Name_Dynamic : constant Name_Id := N + 276; - Name_Entity : constant Name_Id := N + 277; - Name_External_Name : constant Name_Id := N + 278; - Name_First_Optional_Parameter : constant Name_Id := N + 279; - Name_Form : constant Name_Id := N + 280; - Name_G_Float : constant Name_Id := N + 281; - Name_Gcc : constant Name_Id := N + 282; - Name_Gnat : constant Name_Id := N + 283; - Name_GPL : constant Name_Id := N + 284; - Name_IEEE_Float : constant Name_Id := N + 285; - Name_Internal : constant Name_Id := N + 286; - Name_Link_Name : constant Name_Id := N + 287; - Name_Lowercase : constant Name_Id := N + 288; - Name_Max_Entry_Queue_Depth : constant Name_Id := N + 289; - Name_Max_Entry_Queue_Length : constant Name_Id := N + 290; - Name_Max_Size : constant Name_Id := N + 291; - Name_Mechanism : constant Name_Id := N + 292; - Name_Mixedcase : constant Name_Id := N + 293; - Name_Modified_GPL : constant Name_Id := N + 294; - Name_Name : constant Name_Id := N + 295; - Name_NCA : constant Name_Id := N + 296; - Name_No : constant Name_Id := N + 297; - Name_On : constant Name_Id := N + 298; - Name_Parameter_Types : constant Name_Id := N + 299; - Name_Reference : constant Name_Id := N + 300; - Name_No_Dynamic_Attachment : constant Name_Id := N + 301; - Name_No_Dynamic_Interrupts : constant Name_Id := N + 302; - Name_No_Requeue : constant Name_Id := N + 303; - Name_No_Requeue_Statements : constant Name_Id := N + 304; - Name_No_Task_Attributes : constant Name_Id := N + 305; - Name_No_Task_Attributes_Package : constant Name_Id := N + 306; - Name_Restricted : constant Name_Id := N + 307; - Name_Result_Mechanism : constant Name_Id := N + 308; - Name_Result_Type : constant Name_Id := N + 309; - Name_Runtime : constant Name_Id := N + 310; - Name_SB : constant Name_Id := N + 311; - Name_Secondary_Stack_Size : constant Name_Id := N + 312; - Name_Section : constant Name_Id := N + 313; - Name_Semaphore : constant Name_Id := N + 314; - Name_Simple_Barriers : constant Name_Id := N + 315; - Name_Spec_File_Name : constant Name_Id := N + 316; - Name_Static : constant Name_Id := N + 317; - Name_Stack_Size : constant Name_Id := N + 318; - Name_Subunit_File_Name : constant Name_Id := N + 319; - Name_Task_Stack_Size_Default : constant Name_Id := N + 320; - Name_Task_Type : constant Name_Id := N + 321; - Name_Time_Slicing_Enabled : constant Name_Id := N + 322; - Name_Top_Guard : constant Name_Id := N + 323; - Name_UBA : constant Name_Id := N + 324; - Name_UBS : constant Name_Id := N + 325; - Name_UBSB : constant Name_Id := N + 326; - Name_Unit_Name : constant Name_Id := N + 327; - Name_Unknown : constant Name_Id := N + 328; - Name_Unrestricted : constant Name_Id := N + 329; - Name_Uppercase : constant Name_Id := N + 330; - Name_User : constant Name_Id := N + 331; - Name_VAX_Float : constant Name_Id := N + 332; - Name_VMS : constant Name_Id := N + 333; - Name_Working_Storage : constant Name_Id := N + 334; + Name_As_Is : constant Name_Id := N + 266; + Name_Body_File_Name : constant Name_Id := N + 267; + Name_Boolean_Entry_Barriers : constant Name_Id := N + 268; + Name_Casing : constant Name_Id := N + 269; + Name_Code : constant Name_Id := N + 270; + Name_Component : constant Name_Id := N + 271; + Name_Component_Size_4 : constant Name_Id := N + 272; + Name_Copy : constant Name_Id := N + 273; + Name_D_Float : constant Name_Id := N + 274; + Name_Descriptor : constant Name_Id := N + 275; + Name_Dot_Replacement : constant Name_Id := N + 276; + Name_Dynamic : constant Name_Id := N + 277; + Name_Entity : constant Name_Id := N + 278; + Name_External_Name : constant Name_Id := N + 279; + Name_First_Optional_Parameter : constant Name_Id := N + 280; + Name_Form : constant Name_Id := N + 281; + Name_G_Float : constant Name_Id := N + 282; + Name_Gcc : constant Name_Id := N + 283; + Name_Gnat : constant Name_Id := N + 284; + Name_GPL : constant Name_Id := N + 285; + Name_IEEE_Float : constant Name_Id := N + 286; + Name_Internal : constant Name_Id := N + 287; + Name_Link_Name : constant Name_Id := N + 288; + Name_Lowercase : constant Name_Id := N + 289; + Name_Max_Entry_Queue_Depth : constant Name_Id := N + 290; + Name_Max_Entry_Queue_Length : constant Name_Id := N + 291; + Name_Max_Size : constant Name_Id := N + 292; + Name_Mechanism : constant Name_Id := N + 293; + Name_Mixedcase : constant Name_Id := N + 294; + Name_Modified_GPL : constant Name_Id := N + 295; + Name_Name : constant Name_Id := N + 296; + Name_NCA : constant Name_Id := N + 297; + Name_No : constant Name_Id := N + 298; + Name_On : constant Name_Id := N + 299; + Name_Parameter_Types : constant Name_Id := N + 300; + Name_Reference : constant Name_Id := N + 301; + Name_No_Dynamic_Attachment : constant Name_Id := N + 302; + Name_No_Dynamic_Interrupts : constant Name_Id := N + 303; + Name_No_Requeue : constant Name_Id := N + 304; + Name_No_Requeue_Statements : constant Name_Id := N + 305; + Name_No_Task_Attributes : constant Name_Id := N + 306; + Name_No_Task_Attributes_Package : constant Name_Id := N + 307; + Name_Restricted : constant Name_Id := N + 308; + Name_Result_Mechanism : constant Name_Id := N + 309; + Name_Result_Type : constant Name_Id := N + 310; + Name_Runtime : constant Name_Id := N + 311; + Name_SB : constant Name_Id := N + 312; + Name_Secondary_Stack_Size : constant Name_Id := N + 313; + Name_Section : constant Name_Id := N + 314; + Name_Semaphore : constant Name_Id := N + 315; + Name_Simple_Barriers : constant Name_Id := N + 316; + Name_Spec_File_Name : constant Name_Id := N + 317; + Name_Static : constant Name_Id := N + 318; + Name_Stack_Size : constant Name_Id := N + 319; + Name_Subunit_File_Name : constant Name_Id := N + 320; + Name_Task_Stack_Size_Default : constant Name_Id := N + 321; + Name_Task_Type : constant Name_Id := N + 322; + Name_Time_Slicing_Enabled : constant Name_Id := N + 323; + Name_Top_Guard : constant Name_Id := N + 324; + Name_UBA : constant Name_Id := N + 325; + Name_UBS : constant Name_Id := N + 326; + Name_UBSB : constant Name_Id := N + 327; + Name_Unit_Name : constant Name_Id := N + 328; + Name_Unknown : constant Name_Id := N + 329; + Name_Unrestricted : constant Name_Id := N + 330; + Name_Uppercase : constant Name_Id := N + 331; + Name_User : constant Name_Id := N + 332; + Name_VAX_Float : constant Name_Id := N + 333; + Name_VMS : constant Name_Id := N + 334; + Name_Working_Storage : constant Name_Id := N + 335; -- Names of recognized attributes. The entries with the comment "Ada 83" -- are attributes that are defined in Ada 83, but not in Ada 95. These @@ -603,159 +604,159 @@ package Snames is -- The entries marked VMS are recognized only in OpenVMS implementations -- of GNAT, and are treated as illegal in all other contexts. - First_Attribute_Name : constant Name_Id := N + 335; - Name_Abort_Signal : constant Name_Id := N + 335; -- GNAT - Name_Access : constant Name_Id := N + 336; - Name_Address : constant Name_Id := N + 337; - Name_Address_Size : constant Name_Id := N + 338; -- GNAT - Name_Aft : constant Name_Id := N + 339; - Name_Alignment : constant Name_Id := N + 340; - Name_Asm_Input : constant Name_Id := N + 341; -- GNAT - Name_Asm_Output : constant Name_Id := N + 342; -- GNAT - Name_AST_Entry : constant Name_Id := N + 343; -- VMS - Name_Bit : constant Name_Id := N + 344; -- GNAT - Name_Bit_Order : constant Name_Id := N + 345; - Name_Bit_Position : constant Name_Id := N + 346; -- GNAT - Name_Body_Version : constant Name_Id := N + 347; - Name_Callable : constant Name_Id := N + 348; - Name_Caller : constant Name_Id := N + 349; - Name_Code_Address : constant Name_Id := N + 350; -- GNAT - Name_Component_Size : constant Name_Id := N + 351; - Name_Compose : constant Name_Id := N + 352; - Name_Constrained : constant Name_Id := N + 353; - Name_Count : constant Name_Id := N + 354; - Name_Default_Bit_Order : constant Name_Id := N + 355; -- GNAT - Name_Definite : constant Name_Id := N + 356; - Name_Delta : constant Name_Id := N + 357; - Name_Denorm : constant Name_Id := N + 358; - Name_Digits : constant Name_Id := N + 359; - Name_Elaborated : constant Name_Id := N + 360; -- GNAT - Name_Emax : constant Name_Id := N + 361; -- Ada 83 - Name_Enum_Rep : constant Name_Id := N + 362; -- GNAT - Name_Epsilon : constant Name_Id := N + 363; -- Ada 83 - Name_Exponent : constant Name_Id := N + 364; - Name_External_Tag : constant Name_Id := N + 365; - Name_First : constant Name_Id := N + 366; - Name_First_Bit : constant Name_Id := N + 367; - Name_Fixed_Value : constant Name_Id := N + 368; -- GNAT - Name_Fore : constant Name_Id := N + 369; - Name_Has_Access_Values : constant Name_Id := N + 370; -- GNAT - Name_Has_Discriminants : constant Name_Id := N + 371; -- GNAT - Name_Identity : constant Name_Id := N + 372; - Name_Img : constant Name_Id := N + 373; -- GNAT - Name_Integer_Value : constant Name_Id := N + 374; -- GNAT - Name_Large : constant Name_Id := N + 375; -- Ada 83 - Name_Last : constant Name_Id := N + 376; - Name_Last_Bit : constant Name_Id := N + 377; - Name_Leading_Part : constant Name_Id := N + 378; - Name_Length : constant Name_Id := N + 379; - Name_Machine_Emax : constant Name_Id := N + 380; - Name_Machine_Emin : constant Name_Id := N + 381; - Name_Machine_Mantissa : constant Name_Id := N + 382; - Name_Machine_Overflows : constant Name_Id := N + 383; - Name_Machine_Radix : constant Name_Id := N + 384; - Name_Machine_Rounds : constant Name_Id := N + 385; - Name_Machine_Size : constant Name_Id := N + 386; -- GNAT - Name_Mantissa : constant Name_Id := N + 387; -- Ada 83 - Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 388; - Name_Maximum_Alignment : constant Name_Id := N + 389; -- GNAT - Name_Mechanism_Code : constant Name_Id := N + 390; -- GNAT - Name_Model_Emin : constant Name_Id := N + 391; - Name_Model_Epsilon : constant Name_Id := N + 392; - Name_Model_Mantissa : constant Name_Id := N + 393; - Name_Model_Small : constant Name_Id := N + 394; - Name_Modulus : constant Name_Id := N + 395; - Name_Null_Parameter : constant Name_Id := N + 396; -- GNAT - Name_Object_Size : constant Name_Id := N + 397; -- GNAT - Name_Partition_ID : constant Name_Id := N + 398; - Name_Passed_By_Reference : constant Name_Id := N + 399; -- GNAT - Name_Pool_Address : constant Name_Id := N + 400; - Name_Pos : constant Name_Id := N + 401; - Name_Position : constant Name_Id := N + 402; - Name_Range : constant Name_Id := N + 403; - Name_Range_Length : constant Name_Id := N + 404; -- GNAT - Name_Round : constant Name_Id := N + 405; - Name_Safe_Emax : constant Name_Id := N + 406; -- Ada 83 - Name_Safe_First : constant Name_Id := N + 407; - Name_Safe_Large : constant Name_Id := N + 408; -- Ada 83 - Name_Safe_Last : constant Name_Id := N + 409; - Name_Safe_Small : constant Name_Id := N + 410; -- Ada 83 - Name_Scale : constant Name_Id := N + 411; - Name_Scaling : constant Name_Id := N + 412; - Name_Signed_Zeros : constant Name_Id := N + 413; - Name_Size : constant Name_Id := N + 414; - Name_Small : constant Name_Id := N + 415; - Name_Storage_Size : constant Name_Id := N + 416; - Name_Storage_Unit : constant Name_Id := N + 417; -- GNAT - Name_Tag : constant Name_Id := N + 418; - Name_Target_Name : constant Name_Id := N + 419; -- GNAT - Name_Terminated : constant Name_Id := N + 420; - Name_To_Address : constant Name_Id := N + 421; -- GNAT - Name_Type_Class : constant Name_Id := N + 422; -- GNAT - Name_UET_Address : constant Name_Id := N + 423; -- GNAT - Name_Unbiased_Rounding : constant Name_Id := N + 424; - Name_Unchecked_Access : constant Name_Id := N + 425; - Name_Unconstrained_Array : constant Name_Id := N + 426; - Name_Universal_Literal_String : constant Name_Id := N + 427; -- GNAT - Name_Unrestricted_Access : constant Name_Id := N + 428; -- GNAT - Name_VADS_Size : constant Name_Id := N + 429; -- GNAT - Name_Val : constant Name_Id := N + 430; - Name_Valid : constant Name_Id := N + 431; - Name_Value_Size : constant Name_Id := N + 432; -- GNAT - Name_Version : constant Name_Id := N + 433; - Name_Wchar_T_Size : constant Name_Id := N + 434; -- GNAT - Name_Wide_Width : constant Name_Id := N + 435; - Name_Width : constant Name_Id := N + 436; - Name_Word_Size : constant Name_Id := N + 437; -- GNAT + First_Attribute_Name : constant Name_Id := N + 336; + Name_Abort_Signal : constant Name_Id := N + 336; -- GNAT + Name_Access : constant Name_Id := N + 337; + Name_Address : constant Name_Id := N + 338; + Name_Address_Size : constant Name_Id := N + 339; -- GNAT + Name_Aft : constant Name_Id := N + 340; + Name_Alignment : constant Name_Id := N + 341; + Name_Asm_Input : constant Name_Id := N + 342; -- GNAT + Name_Asm_Output : constant Name_Id := N + 343; -- GNAT + Name_AST_Entry : constant Name_Id := N + 344; -- VMS + Name_Bit : constant Name_Id := N + 345; -- GNAT + Name_Bit_Order : constant Name_Id := N + 346; + Name_Bit_Position : constant Name_Id := N + 347; -- GNAT + Name_Body_Version : constant Name_Id := N + 348; + Name_Callable : constant Name_Id := N + 349; + Name_Caller : constant Name_Id := N + 350; + Name_Code_Address : constant Name_Id := N + 351; -- GNAT + Name_Component_Size : constant Name_Id := N + 352; + Name_Compose : constant Name_Id := N + 353; + Name_Constrained : constant Name_Id := N + 354; + Name_Count : constant Name_Id := N + 355; + Name_Default_Bit_Order : constant Name_Id := N + 356; -- GNAT + Name_Definite : constant Name_Id := N + 357; + Name_Delta : constant Name_Id := N + 358; + Name_Denorm : constant Name_Id := N + 359; + Name_Digits : constant Name_Id := N + 360; + Name_Elaborated : constant Name_Id := N + 361; -- GNAT + Name_Emax : constant Name_Id := N + 362; -- Ada 83 + Name_Enum_Rep : constant Name_Id := N + 363; -- GNAT + Name_Epsilon : constant Name_Id := N + 364; -- Ada 83 + Name_Exponent : constant Name_Id := N + 365; + Name_External_Tag : constant Name_Id := N + 366; + Name_First : constant Name_Id := N + 367; + Name_First_Bit : constant Name_Id := N + 368; + Name_Fixed_Value : constant Name_Id := N + 369; -- GNAT + Name_Fore : constant Name_Id := N + 370; + Name_Has_Access_Values : constant Name_Id := N + 371; -- GNAT + Name_Has_Discriminants : constant Name_Id := N + 372; -- GNAT + Name_Identity : constant Name_Id := N + 373; + Name_Img : constant Name_Id := N + 374; -- GNAT + Name_Integer_Value : constant Name_Id := N + 375; -- GNAT + Name_Large : constant Name_Id := N + 376; -- Ada 83 + Name_Last : constant Name_Id := N + 377; + Name_Last_Bit : constant Name_Id := N + 378; + Name_Leading_Part : constant Name_Id := N + 379; + Name_Length : constant Name_Id := N + 380; + Name_Machine_Emax : constant Name_Id := N + 381; + Name_Machine_Emin : constant Name_Id := N + 382; + Name_Machine_Mantissa : constant Name_Id := N + 383; + Name_Machine_Overflows : constant Name_Id := N + 384; + Name_Machine_Radix : constant Name_Id := N + 385; + Name_Machine_Rounds : constant Name_Id := N + 386; + Name_Machine_Size : constant Name_Id := N + 387; -- GNAT + Name_Mantissa : constant Name_Id := N + 388; -- Ada 83 + Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 389; + Name_Maximum_Alignment : constant Name_Id := N + 390; -- GNAT + Name_Mechanism_Code : constant Name_Id := N + 391; -- GNAT + Name_Model_Emin : constant Name_Id := N + 392; + Name_Model_Epsilon : constant Name_Id := N + 393; + Name_Model_Mantissa : constant Name_Id := N + 394; + Name_Model_Small : constant Name_Id := N + 395; + Name_Modulus : constant Name_Id := N + 396; + Name_Null_Parameter : constant Name_Id := N + 397; -- GNAT + Name_Object_Size : constant Name_Id := N + 398; -- GNAT + Name_Partition_ID : constant Name_Id := N + 399; + Name_Passed_By_Reference : constant Name_Id := N + 400; -- GNAT + Name_Pool_Address : constant Name_Id := N + 401; + Name_Pos : constant Name_Id := N + 402; + Name_Position : constant Name_Id := N + 403; + Name_Range : constant Name_Id := N + 404; + Name_Range_Length : constant Name_Id := N + 405; -- GNAT + Name_Round : constant Name_Id := N + 406; + Name_Safe_Emax : constant Name_Id := N + 407; -- Ada 83 + Name_Safe_First : constant Name_Id := N + 408; + Name_Safe_Large : constant Name_Id := N + 409; -- Ada 83 + Name_Safe_Last : constant Name_Id := N + 410; + Name_Safe_Small : constant Name_Id := N + 411; -- Ada 83 + Name_Scale : constant Name_Id := N + 412; + Name_Scaling : constant Name_Id := N + 413; + Name_Signed_Zeros : constant Name_Id := N + 414; + Name_Size : constant Name_Id := N + 415; + Name_Small : constant Name_Id := N + 416; + Name_Storage_Size : constant Name_Id := N + 417; + Name_Storage_Unit : constant Name_Id := N + 418; -- GNAT + Name_Tag : constant Name_Id := N + 419; + Name_Target_Name : constant Name_Id := N + 420; -- GNAT + Name_Terminated : constant Name_Id := N + 421; + Name_To_Address : constant Name_Id := N + 422; -- GNAT + Name_Type_Class : constant Name_Id := N + 423; -- GNAT + Name_UET_Address : constant Name_Id := N + 424; -- GNAT + Name_Unbiased_Rounding : constant Name_Id := N + 425; + Name_Unchecked_Access : constant Name_Id := N + 426; + Name_Unconstrained_Array : constant Name_Id := N + 427; + Name_Universal_Literal_String : constant Name_Id := N + 428; -- GNAT + Name_Unrestricted_Access : constant Name_Id := N + 429; -- GNAT + Name_VADS_Size : constant Name_Id := N + 430; -- GNAT + Name_Val : constant Name_Id := N + 431; + Name_Valid : constant Name_Id := N + 432; + Name_Value_Size : constant Name_Id := N + 433; -- GNAT + Name_Version : constant Name_Id := N + 434; + Name_Wchar_T_Size : constant Name_Id := N + 435; -- GNAT + Name_Wide_Width : constant Name_Id := N + 436; + Name_Width : constant Name_Id := N + 437; + Name_Word_Size : constant Name_Id := N + 438; -- GNAT -- Attributes that designate attributes returning renamable functions, -- i.e. functions that return other than a universal value. - First_Renamable_Function_Attribute : constant Name_Id := N + 438; - Name_Adjacent : constant Name_Id := N + 438; - Name_Ceiling : constant Name_Id := N + 439; - Name_Copy_Sign : constant Name_Id := N + 440; - Name_Floor : constant Name_Id := N + 441; - Name_Fraction : constant Name_Id := N + 442; - Name_Image : constant Name_Id := N + 443; - Name_Input : constant Name_Id := N + 444; - Name_Machine : constant Name_Id := N + 445; - Name_Max : constant Name_Id := N + 446; - Name_Min : constant Name_Id := N + 447; - Name_Model : constant Name_Id := N + 448; - Name_Pred : constant Name_Id := N + 449; - Name_Remainder : constant Name_Id := N + 450; - Name_Rounding : constant Name_Id := N + 451; - Name_Succ : constant Name_Id := N + 452; - Name_Truncation : constant Name_Id := N + 453; - Name_Value : constant Name_Id := N + 454; - Name_Wide_Image : constant Name_Id := N + 455; - Name_Wide_Value : constant Name_Id := N + 456; - Last_Renamable_Function_Attribute : constant Name_Id := N + 456; + First_Renamable_Function_Attribute : constant Name_Id := N + 439; + Name_Adjacent : constant Name_Id := N + 439; + Name_Ceiling : constant Name_Id := N + 440; + Name_Copy_Sign : constant Name_Id := N + 441; + Name_Floor : constant Name_Id := N + 442; + Name_Fraction : constant Name_Id := N + 443; + Name_Image : constant Name_Id := N + 444; + Name_Input : constant Name_Id := N + 445; + Name_Machine : constant Name_Id := N + 446; + Name_Max : constant Name_Id := N + 447; + Name_Min : constant Name_Id := N + 448; + Name_Model : constant Name_Id := N + 449; + Name_Pred : constant Name_Id := N + 450; + Name_Remainder : constant Name_Id := N + 451; + Name_Rounding : constant Name_Id := N + 452; + Name_Succ : constant Name_Id := N + 453; + Name_Truncation : constant Name_Id := N + 454; + Name_Value : constant Name_Id := N + 455; + Name_Wide_Image : constant Name_Id := N + 456; + Name_Wide_Value : constant Name_Id := N + 457; + Last_Renamable_Function_Attribute : constant Name_Id := N + 457; -- Attributes that designate procedures - First_Procedure_Attribute : constant Name_Id := N + 457; - Name_Output : constant Name_Id := N + 457; - Name_Read : constant Name_Id := N + 458; - Name_Write : constant Name_Id := N + 459; - Last_Procedure_Attribute : constant Name_Id := N + 459; + First_Procedure_Attribute : constant Name_Id := N + 458; + Name_Output : constant Name_Id := N + 458; + Name_Read : constant Name_Id := N + 459; + Name_Write : constant Name_Id := N + 460; + Last_Procedure_Attribute : constant Name_Id := N + 460; -- Remaining attributes are ones that return entities - First_Entity_Attribute_Name : constant Name_Id := N + 460; - Name_Elab_Body : constant Name_Id := N + 460; -- GNAT - Name_Elab_Spec : constant Name_Id := N + 461; -- GNAT - Name_Storage_Pool : constant Name_Id := N + 462; + First_Entity_Attribute_Name : constant Name_Id := N + 461; + Name_Elab_Body : constant Name_Id := N + 461; -- GNAT + Name_Elab_Spec : constant Name_Id := N + 462; -- GNAT + Name_Storage_Pool : constant Name_Id := N + 463; -- These attributes are the ones that return types - First_Type_Attribute_Name : constant Name_Id := N + 463; - Name_Base : constant Name_Id := N + 463; - Name_Class : constant Name_Id := N + 464; - Last_Type_Attribute_Name : constant Name_Id := N + 464; - Last_Entity_Attribute_Name : constant Name_Id := N + 464; - Last_Attribute_Name : constant Name_Id := N + 464; + First_Type_Attribute_Name : constant Name_Id := N + 464; + Name_Base : constant Name_Id := N + 464; + Name_Class : constant Name_Id := N + 465; + Last_Type_Attribute_Name : constant Name_Id := N + 465; + Last_Entity_Attribute_Name : constant Name_Id := N + 465; + Last_Attribute_Name : constant Name_Id := N + 465; -- Names of recognized locking policy identifiers @@ -763,10 +764,10 @@ package Snames is -- name (e.g. C for Ceiling_Locking). If new policy names are added, -- the first character must be distinct. - First_Locking_Policy_Name : constant Name_Id := N + 465; - Name_Ceiling_Locking : constant Name_Id := N + 465; - Name_Inheritance_Locking : constant Name_Id := N + 466; - Last_Locking_Policy_Name : constant Name_Id := N + 466; + First_Locking_Policy_Name : constant Name_Id := N + 466; + Name_Ceiling_Locking : constant Name_Id := N + 466; + Name_Inheritance_Locking : constant Name_Id := N + 467; + Last_Locking_Policy_Name : constant Name_Id := N + 467; -- Names of recognized queuing policy identifiers. @@ -774,10 +775,10 @@ package Snames is -- name (e.g. F for FIFO_Queuing). If new policy names are added, -- the first character must be distinct. - First_Queuing_Policy_Name : constant Name_Id := N + 467; - Name_FIFO_Queuing : constant Name_Id := N + 467; - Name_Priority_Queuing : constant Name_Id := N + 468; - Last_Queuing_Policy_Name : constant Name_Id := N + 468; + First_Queuing_Policy_Name : constant Name_Id := N + 468; + Name_FIFO_Queuing : constant Name_Id := N + 468; + Name_Priority_Queuing : constant Name_Id := N + 469; + Last_Queuing_Policy_Name : constant Name_Id := N + 469; -- Names of recognized task dispatching policy identifiers @@ -785,194 +786,194 @@ package Snames is -- name (e.g. F for FIFO_WIthinn_Priorities). If new policy names -- are added, the first character must be distinct. - First_Task_Dispatching_Policy_Name : constant Name_Id := N + 469; - Name_FIFO_Within_Priorities : constant Name_Id := N + 469; - Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 469; + First_Task_Dispatching_Policy_Name : constant Name_Id := N + 470; + Name_FIFO_Within_Priorities : constant Name_Id := N + 470; + Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 470; -- Names of recognized checks for pragma Suppress - First_Check_Name : constant Name_Id := N + 470; - Name_Access_Check : constant Name_Id := N + 470; - Name_Accessibility_Check : constant Name_Id := N + 471; - Name_Discriminant_Check : constant Name_Id := N + 472; - Name_Division_Check : constant Name_Id := N + 473; - Name_Elaboration_Check : constant Name_Id := N + 474; - Name_Index_Check : constant Name_Id := N + 475; - Name_Length_Check : constant Name_Id := N + 476; - Name_Overflow_Check : constant Name_Id := N + 477; - Name_Range_Check : constant Name_Id := N + 478; - Name_Storage_Check : constant Name_Id := N + 479; - Name_Tag_Check : constant Name_Id := N + 480; - Name_All_Checks : constant Name_Id := N + 481; - Last_Check_Name : constant Name_Id := N + 481; + First_Check_Name : constant Name_Id := N + 471; + Name_Access_Check : constant Name_Id := N + 471; + Name_Accessibility_Check : constant Name_Id := N + 472; + Name_Discriminant_Check : constant Name_Id := N + 473; + Name_Division_Check : constant Name_Id := N + 474; + Name_Elaboration_Check : constant Name_Id := N + 475; + Name_Index_Check : constant Name_Id := N + 476; + Name_Length_Check : constant Name_Id := N + 477; + Name_Overflow_Check : constant Name_Id := N + 478; + Name_Range_Check : constant Name_Id := N + 479; + Name_Storage_Check : constant Name_Id := N + 480; + Name_Tag_Check : constant Name_Id := N + 481; + Name_All_Checks : constant Name_Id := N + 482; + Last_Check_Name : constant Name_Id := N + 482; -- Names corresponding to reserved keywords, excluding those already -- declared in the attribute list (Access, Delta, Digits, Range). - Name_Abort : constant Name_Id := N + 482; - Name_Abs : constant Name_Id := N + 483; - Name_Accept : constant Name_Id := N + 484; - Name_And : constant Name_Id := N + 485; - Name_All : constant Name_Id := N + 486; - Name_Array : constant Name_Id := N + 487; - Name_At : constant Name_Id := N + 488; - Name_Begin : constant Name_Id := N + 489; - Name_Body : constant Name_Id := N + 490; - Name_Case : constant Name_Id := N + 491; - Name_Constant : constant Name_Id := N + 492; - Name_Declare : constant Name_Id := N + 493; - Name_Delay : constant Name_Id := N + 494; - Name_Do : constant Name_Id := N + 495; - Name_Else : constant Name_Id := N + 496; - Name_Elsif : constant Name_Id := N + 497; - Name_End : constant Name_Id := N + 498; - Name_Entry : constant Name_Id := N + 499; - Name_Exception : constant Name_Id := N + 500; - Name_Exit : constant Name_Id := N + 501; - Name_For : constant Name_Id := N + 502; - Name_Function : constant Name_Id := N + 503; - Name_Generic : constant Name_Id := N + 504; - Name_Goto : constant Name_Id := N + 505; - Name_If : constant Name_Id := N + 506; - Name_In : constant Name_Id := N + 507; - Name_Is : constant Name_Id := N + 508; - Name_Limited : constant Name_Id := N + 509; - Name_Loop : constant Name_Id := N + 510; - Name_Mod : constant Name_Id := N + 511; - Name_New : constant Name_Id := N + 512; - Name_Not : constant Name_Id := N + 513; - Name_Null : constant Name_Id := N + 514; - Name_Of : constant Name_Id := N + 515; - Name_Or : constant Name_Id := N + 516; - Name_Others : constant Name_Id := N + 517; - Name_Out : constant Name_Id := N + 518; - Name_Package : constant Name_Id := N + 519; - Name_Pragma : constant Name_Id := N + 520; - Name_Private : constant Name_Id := N + 521; - Name_Procedure : constant Name_Id := N + 522; - Name_Raise : constant Name_Id := N + 523; - Name_Record : constant Name_Id := N + 524; - Name_Rem : constant Name_Id := N + 525; - Name_Renames : constant Name_Id := N + 526; - Name_Return : constant Name_Id := N + 527; - Name_Reverse : constant Name_Id := N + 528; - Name_Select : constant Name_Id := N + 529; - Name_Separate : constant Name_Id := N + 530; - Name_Subtype : constant Name_Id := N + 531; - Name_Task : constant Name_Id := N + 532; - Name_Terminate : constant Name_Id := N + 533; - Name_Then : constant Name_Id := N + 534; - Name_Type : constant Name_Id := N + 535; - Name_Use : constant Name_Id := N + 536; - Name_When : constant Name_Id := N + 537; - Name_While : constant Name_Id := N + 538; - Name_With : constant Name_Id := N + 539; - Name_Xor : constant Name_Id := N + 540; + Name_Abort : constant Name_Id := N + 483; + Name_Abs : constant Name_Id := N + 484; + Name_Accept : constant Name_Id := N + 485; + Name_And : constant Name_Id := N + 486; + Name_All : constant Name_Id := N + 487; + Name_Array : constant Name_Id := N + 488; + Name_At : constant Name_Id := N + 489; + Name_Begin : constant Name_Id := N + 490; + Name_Body : constant Name_Id := N + 491; + Name_Case : constant Name_Id := N + 492; + Name_Constant : constant Name_Id := N + 493; + Name_Declare : constant Name_Id := N + 494; + Name_Delay : constant Name_Id := N + 495; + Name_Do : constant Name_Id := N + 496; + Name_Else : constant Name_Id := N + 497; + Name_Elsif : constant Name_Id := N + 498; + Name_End : constant Name_Id := N + 499; + Name_Entry : constant Name_Id := N + 500; + Name_Exception : constant Name_Id := N + 501; + Name_Exit : constant Name_Id := N + 502; + Name_For : constant Name_Id := N + 503; + Name_Function : constant Name_Id := N + 504; + Name_Generic : constant Name_Id := N + 505; + Name_Goto : constant Name_Id := N + 506; + Name_If : constant Name_Id := N + 507; + Name_In : constant Name_Id := N + 508; + Name_Is : constant Name_Id := N + 509; + Name_Limited : constant Name_Id := N + 510; + Name_Loop : constant Name_Id := N + 511; + Name_Mod : constant Name_Id := N + 512; + Name_New : constant Name_Id := N + 513; + Name_Not : constant Name_Id := N + 514; + Name_Null : constant Name_Id := N + 515; + Name_Of : constant Name_Id := N + 516; + Name_Or : constant Name_Id := N + 517; + Name_Others : constant Name_Id := N + 518; + Name_Out : constant Name_Id := N + 519; + Name_Package : constant Name_Id := N + 520; + Name_Pragma : constant Name_Id := N + 521; + Name_Private : constant Name_Id := N + 522; + Name_Procedure : constant Name_Id := N + 523; + Name_Raise : constant Name_Id := N + 524; + Name_Record : constant Name_Id := N + 525; + Name_Rem : constant Name_Id := N + 526; + Name_Renames : constant Name_Id := N + 527; + Name_Return : constant Name_Id := N + 528; + Name_Reverse : constant Name_Id := N + 529; + Name_Select : constant Name_Id := N + 530; + Name_Separate : constant Name_Id := N + 531; + Name_Subtype : constant Name_Id := N + 532; + Name_Task : constant Name_Id := N + 533; + Name_Terminate : constant Name_Id := N + 534; + Name_Then : constant Name_Id := N + 535; + Name_Type : constant Name_Id := N + 536; + Name_Use : constant Name_Id := N + 537; + Name_When : constant Name_Id := N + 538; + Name_While : constant Name_Id := N + 539; + Name_With : constant Name_Id := N + 540; + Name_Xor : constant Name_Id := N + 541; -- Names of intrinsic subprograms -- Note: Asm is missing from this list, since Asm is a legitimate -- convention name. So is To_Adress, which is a GNAT attribute. - First_Intrinsic_Name : constant Name_Id := N + 541; - Name_Divide : constant Name_Id := N + 541; - Name_Enclosing_Entity : constant Name_Id := N + 542; - Name_Exception_Information : constant Name_Id := N + 543; - Name_Exception_Message : constant Name_Id := N + 544; - Name_Exception_Name : constant Name_Id := N + 545; - Name_File : constant Name_Id := N + 546; - Name_Import_Address : constant Name_Id := N + 547; - Name_Import_Largest_Value : constant Name_Id := N + 548; - Name_Import_Value : constant Name_Id := N + 549; - Name_Is_Negative : constant Name_Id := N + 550; - Name_Line : constant Name_Id := N + 551; - Name_Rotate_Left : constant Name_Id := N + 552; - Name_Rotate_Right : constant Name_Id := N + 553; - Name_Shift_Left : constant Name_Id := N + 554; - Name_Shift_Right : constant Name_Id := N + 555; - Name_Shift_Right_Arithmetic : constant Name_Id := N + 556; - Name_Source_Location : constant Name_Id := N + 557; - Name_Unchecked_Conversion : constant Name_Id := N + 558; - Name_Unchecked_Deallocation : constant Name_Id := N + 559; - Name_To_Pointer : constant Name_Id := N + 560; - Last_Intrinsic_Name : constant Name_Id := N + 560; + First_Intrinsic_Name : constant Name_Id := N + 542; + Name_Divide : constant Name_Id := N + 542; + Name_Enclosing_Entity : constant Name_Id := N + 543; + Name_Exception_Information : constant Name_Id := N + 544; + Name_Exception_Message : constant Name_Id := N + 545; + Name_Exception_Name : constant Name_Id := N + 546; + Name_File : constant Name_Id := N + 547; + Name_Import_Address : constant Name_Id := N + 548; + Name_Import_Largest_Value : constant Name_Id := N + 549; + Name_Import_Value : constant Name_Id := N + 550; + Name_Is_Negative : constant Name_Id := N + 551; + Name_Line : constant Name_Id := N + 552; + Name_Rotate_Left : constant Name_Id := N + 553; + Name_Rotate_Right : constant Name_Id := N + 554; + Name_Shift_Left : constant Name_Id := N + 555; + Name_Shift_Right : constant Name_Id := N + 556; + Name_Shift_Right_Arithmetic : constant Name_Id := N + 557; + Name_Source_Location : constant Name_Id := N + 558; + Name_Unchecked_Conversion : constant Name_Id := N + 559; + Name_Unchecked_Deallocation : constant Name_Id := N + 560; + Name_To_Pointer : constant Name_Id := N + 561; + Last_Intrinsic_Name : constant Name_Id := N + 561; -- Reserved words used only in Ada 95 - First_95_Reserved_Word : constant Name_Id := N + 561; - Name_Abstract : constant Name_Id := N + 561; - Name_Aliased : constant Name_Id := N + 562; - Name_Protected : constant Name_Id := N + 563; - Name_Until : constant Name_Id := N + 564; - Name_Requeue : constant Name_Id := N + 565; - Name_Tagged : constant Name_Id := N + 566; - Last_95_Reserved_Word : constant Name_Id := N + 566; + First_95_Reserved_Word : constant Name_Id := N + 562; + Name_Abstract : constant Name_Id := N + 562; + Name_Aliased : constant Name_Id := N + 563; + Name_Protected : constant Name_Id := N + 564; + Name_Until : constant Name_Id := N + 565; + Name_Requeue : constant Name_Id := N + 566; + Name_Tagged : constant Name_Id := N + 567; + Last_95_Reserved_Word : constant Name_Id := N + 567; subtype Ada_95_Reserved_Words is Name_Id range First_95_Reserved_Word .. Last_95_Reserved_Word; -- Miscellaneous names used in semantic checking - Name_Raise_Exception : constant Name_Id := N + 567; + Name_Raise_Exception : constant Name_Id := N + 568; -- Additional reserved words in GNAT Project Files -- Note that Name_External is already previously declared - Name_Binder : constant Name_Id := N + 568; - Name_Body_Suffix : constant Name_Id := N + 569; - Name_Builder : constant Name_Id := N + 570; - Name_Compiler : constant Name_Id := N + 571; - Name_Cross_Reference : constant Name_Id := N + 572; - Name_Default_Switches : constant Name_Id := N + 573; - Name_Exec_Dir : constant Name_Id := N + 574; - Name_Executable : constant Name_Id := N + 575; - Name_Executable_Suffix : constant Name_Id := N + 576; - Name_Extends : constant Name_Id := N + 577; - Name_Finder : constant Name_Id := N + 578; - Name_Global_Configuration_Pragmas : constant Name_Id := N + 579; - Name_Gnatls : constant Name_Id := N + 580; - Name_Gnatstub : constant Name_Id := N + 581; - Name_Implementation : constant Name_Id := N + 582; - Name_Implementation_Exceptions : constant Name_Id := N + 583; - Name_Implementation_Suffix : constant Name_Id := N + 584; - Name_Languages : constant Name_Id := N + 585; - Name_Library_Dir : constant Name_Id := N + 586; - Name_Library_Auto_Init : constant Name_Id := N + 587; - Name_Library_GCC : constant Name_Id := N + 588; - Name_Library_Interface : constant Name_Id := N + 589; - Name_Library_Kind : constant Name_Id := N + 590; - Name_Library_Name : constant Name_Id := N + 591; - Name_Library_Options : constant Name_Id := N + 592; - Name_Library_Reference_Symbol_File : constant Name_Id := N + 593; - Name_Library_Src_Dir : constant Name_Id := N + 594; - Name_Library_Symbol_File : constant Name_Id := N + 595; - Name_Library_Symbol_Policy : constant Name_Id := N + 596; - Name_Library_Version : constant Name_Id := N + 597; - Name_Linker : constant Name_Id := N + 598; - Name_Local_Configuration_Pragmas : constant Name_Id := N + 599; - Name_Locally_Removed_Files : constant Name_Id := N + 600; - Name_Metrics : constant Name_Id := N + 601; - Name_Naming : constant Name_Id := N + 602; - Name_Object_Dir : constant Name_Id := N + 603; - Name_Pretty_Printer : constant Name_Id := N + 604; - Name_Project : constant Name_Id := N + 605; - Name_Separate_Suffix : constant Name_Id := N + 606; - Name_Source_Dirs : constant Name_Id := N + 607; - Name_Source_Files : constant Name_Id := N + 608; - Name_Source_List_File : constant Name_Id := N + 609; - Name_Spec : constant Name_Id := N + 610; - Name_Spec_Suffix : constant Name_Id := N + 611; - Name_Specification : constant Name_Id := N + 612; - Name_Specification_Exceptions : constant Name_Id := N + 613; - Name_Specification_Suffix : constant Name_Id := N + 614; - Name_Switches : constant Name_Id := N + 615; + Name_Binder : constant Name_Id := N + 569; + Name_Body_Suffix : constant Name_Id := N + 570; + Name_Builder : constant Name_Id := N + 571; + Name_Compiler : constant Name_Id := N + 572; + Name_Cross_Reference : constant Name_Id := N + 573; + Name_Default_Switches : constant Name_Id := N + 574; + Name_Exec_Dir : constant Name_Id := N + 575; + Name_Executable : constant Name_Id := N + 576; + Name_Executable_Suffix : constant Name_Id := N + 577; + Name_Extends : constant Name_Id := N + 578; + Name_Finder : constant Name_Id := N + 579; + Name_Global_Configuration_Pragmas : constant Name_Id := N + 580; + Name_Gnatls : constant Name_Id := N + 581; + Name_Gnatstub : constant Name_Id := N + 582; + Name_Implementation : constant Name_Id := N + 583; + Name_Implementation_Exceptions : constant Name_Id := N + 584; + Name_Implementation_Suffix : constant Name_Id := N + 585; + Name_Languages : constant Name_Id := N + 586; + Name_Library_Dir : constant Name_Id := N + 587; + Name_Library_Auto_Init : constant Name_Id := N + 588; + Name_Library_GCC : constant Name_Id := N + 589; + Name_Library_Interface : constant Name_Id := N + 590; + Name_Library_Kind : constant Name_Id := N + 591; + Name_Library_Name : constant Name_Id := N + 592; + Name_Library_Options : constant Name_Id := N + 593; + Name_Library_Reference_Symbol_File : constant Name_Id := N + 594; + Name_Library_Src_Dir : constant Name_Id := N + 595; + Name_Library_Symbol_File : constant Name_Id := N + 596; + Name_Library_Symbol_Policy : constant Name_Id := N + 597; + Name_Library_Version : constant Name_Id := N + 598; + Name_Linker : constant Name_Id := N + 599; + Name_Local_Configuration_Pragmas : constant Name_Id := N + 600; + Name_Locally_Removed_Files : constant Name_Id := N + 601; + Name_Metrics : constant Name_Id := N + 602; + Name_Naming : constant Name_Id := N + 603; + Name_Object_Dir : constant Name_Id := N + 604; + Name_Pretty_Printer : constant Name_Id := N + 605; + Name_Project : constant Name_Id := N + 606; + Name_Separate_Suffix : constant Name_Id := N + 607; + Name_Source_Dirs : constant Name_Id := N + 608; + Name_Source_Files : constant Name_Id := N + 609; + Name_Source_List_File : constant Name_Id := N + 610; + Name_Spec : constant Name_Id := N + 611; + Name_Spec_Suffix : constant Name_Id := N + 612; + Name_Specification : constant Name_Id := N + 613; + Name_Specification_Exceptions : constant Name_Id := N + 614; + Name_Specification_Suffix : constant Name_Id := N + 615; + Name_Switches : constant Name_Id := N + 616; -- Other miscellaneous names used in front end - Name_Unaligned_Valid : constant Name_Id := N + 616; + Name_Unaligned_Valid : constant Name_Id := N + 617; -- Mark last defined name for consistency check in Snames body - Last_Predefined_Name : constant Name_Id := N + 616; + Last_Predefined_Name : constant Name_Id := N + 617; subtype Any_Operator_Name is Name_Id range First_Operator_Name .. Last_Operator_Name; diff --git a/gcc/ada/system-aix.ads b/gcc/ada/system-aix.ads index fa28445a423..c80241b3311 100644 --- a/gcc/ada/system-aix.ads +++ b/gcc/ada/system-aix.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (AIX/PPC Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-darwin-ppc.ads b/gcc/ada/system-darwin-ppc.ads index 6b16d1f53f1..73cbcd35ac4 100644 --- a/gcc/ada/system-darwin-ppc.ads +++ b/gcc/ada/system-darwin-ppc.ads @@ -154,6 +154,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-freebsd-x86.ads b/gcc/ada/system-freebsd-x86.ads index a7371a2d9a2..25b72ca1d59 100644 --- a/gcc/ada/system-freebsd-x86.ads +++ b/gcc/ada/system-freebsd-x86.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (FreeBSD/x86 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-hpux.ads b/gcc/ada/system-hpux.ads index 3b971a587f4..e9664f09a45 100644 --- a/gcc/ada/system-hpux.ads +++ b/gcc/ada/system-hpux.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (HP-UX Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := False; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-interix.ads b/gcc/ada/system-interix.ads index 11058290e59..d8d73a1e507 100644 --- a/gcc/ada/system-interix.ads +++ b/gcc/ada/system-interix.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (OpenNT/Interix Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-irix-n32.ads b/gcc/ada/system-irix-n32.ads index 0bdc08b1fcb..2403db75db6 100644 --- a/gcc/ada/system-irix-n32.ads +++ b/gcc/ada/system-irix-n32.ads @@ -140,6 +140,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-irix-o32.ads b/gcc/ada/system-irix-o32.ads index 7ccbe6c65eb..b053e01e0ca 100644 --- a/gcc/ada/system-irix-o32.ads +++ b/gcc/ada/system-irix-o32.ads @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-linux-ia64.ads b/gcc/ada/system-linux-ia64.ads index 72c51b0df52..510673e9d3f 100644 --- a/gcc/ada/system-linux-ia64.ads +++ b/gcc/ada/system-linux-ia64.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (GNU-Linux/ia64 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-linux-x86.ads b/gcc/ada/system-linux-x86.ads index 8bcf7808221..28edbfecf67 100644 --- a/gcc/ada/system-linux-x86.ads +++ b/gcc/ada/system-linux-x86.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (GNU-Linux/x86 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-linux-x86_64.ads b/gcc/ada/system-linux-x86_64.ads index 37a495d8870..99c33dbdb73 100644 --- a/gcc/ada/system-linux-x86_64.ads +++ b/gcc/ada/system-linux-x86_64.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (GNU-Linux/x86-64 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-lynxos-ppc.ads b/gcc/ada/system-lynxos-ppc.ads index caeae17a168..9a0bf681ed8 100644 --- a/gcc/ada/system-lynxos-ppc.ads +++ b/gcc/ada/system-lynxos-ppc.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (LynxOS PPC Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-lynxos-x86.ads b/gcc/ada/system-lynxos-x86.ads index 130b5f0d451..0187b381ebf 100644 --- a/gcc/ada/system-lynxos-x86.ads +++ b/gcc/ada/system-lynxos-x86.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (LynxOS x86 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-mingw.ads b/gcc/ada/system-mingw.ads index 9316644e0d9..4aafd025770 100644 --- a/gcc/ada/system-mingw.ads +++ b/gcc/ada/system-mingw.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (NT Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-os2.ads b/gcc/ada/system-os2.ads index 17acb5bc21e..53d8b8c1306 100644 --- a/gcc/ada/system-os2.ads +++ b/gcc/ada/system-os2.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (OS/2 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-solaris-sparc.ads b/gcc/ada/system-solaris-sparc.ads index 80621a76517..397e38f7fa9 100644 --- a/gcc/ada/system-solaris-sparc.ads +++ b/gcc/ada/system-solaris-sparc.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (SUN Solaris Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-solaris-sparcv9.ads b/gcc/ada/system-solaris-sparcv9.ads index dca552ebc5a..6f774513f16 100644 --- a/gcc/ada/system-solaris-sparcv9.ads +++ b/gcc/ada/system-solaris-sparcv9.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (Solaris Sparcv9 Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-solaris-x86.ads b/gcc/ada/system-solaris-x86.ads index d48b684f84c..c661ac03270 100644 --- a/gcc/ada/system-solaris-x86.ads +++ b/gcc/ada/system-solaris-x86.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (x86 Solaris Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-tru64.ads b/gcc/ada/system-tru64.ads index f0067b37f84..3134ffe0630 100644 --- a/gcc/ada/system-tru64.ads +++ b/gcc/ada/system-tru64.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (DEC Unix Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := True; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-unixware.ads b/gcc/ada/system-unixware.ads index 01404ee32aa..5cfd21bb674 100644 --- a/gcc/ada/system-unixware.ads +++ b/gcc/ada/system-unixware.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (SCO UnixWare Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vms-zcx.ads b/gcc/ada/system-vms-zcx.ads index 3ba5e692195..1b4b7c275a9 100644 --- a/gcc/ada/system-vms-zcx.ads +++ b/gcc/ada/system-vms-zcx.ads @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := True; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := True; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-vms.ads b/gcc/ada/system-vms.ads index fc4fb2e6d6f..82faeb39c0b 100644 --- a/gcc/ada/system-vms.ads +++ b/gcc/ada/system-vms.ads @@ -128,6 +128,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := True; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := True; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-vms_64.ads b/gcc/ada/system-vms_64.ads index 9052e2b16bb..aefdb05abba 100644 --- a/gcc/ada/system-vms_64.ads +++ b/gcc/ada/system-vms_64.ads @@ -147,6 +147,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := True; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := True; Stack_Check_Probes : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-alpha.ads b/gcc/ada/system-vxworks-alpha.ads index 12bbec478ff..9e0d847132c 100644 --- a/gcc/ada/system-vxworks-alpha.ads +++ b/gcc/ada/system-vxworks-alpha.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Alpha) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-m68k.ads b/gcc/ada/system-vxworks-m68k.ads index 3e1e3cf9895..cdf4fcee8b9 100644 --- a/gcc/ada/system-vxworks-m68k.ads +++ b/gcc/ada/system-vxworks-m68k.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks version M68K) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := False; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-mips.ads b/gcc/ada/system-vxworks-mips.ads index 19c96d0d6ea..3cc13d7c994 100644 --- a/gcc/ada/system-vxworks-mips.ads +++ b/gcc/ada/system-vxworks-mips.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Mips) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-ppc.ads b/gcc/ada/system-vxworks-ppc.ads index bcb415c0277..b73f808a54b 100644 --- a/gcc/ada/system-vxworks-ppc.ads +++ b/gcc/ada/system-vxworks-ppc.ads @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-sparcv9.ads b/gcc/ada/system-vxworks-sparcv9.ads index 8ddf3b06a6a..c6a934018c1 100644 --- a/gcc/ada/system-vxworks-sparcv9.ads +++ b/gcc/ada/system-vxworks-sparcv9.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Sparc/64) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -138,6 +138,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-x86.ads b/gcc/ada/system-vxworks-x86.ads index 1575fdfea90..bd1a4d36d70 100644 --- a/gcc/ada/system-vxworks-x86.ads +++ b/gcc/ada/system-vxworks-x86.ads @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system-vxworks-xscale.ads b/gcc/ada/system-vxworks-xscale.ads index 1fa021d5187..d762fcad363 100644 --- a/gcc/ada/system-vxworks-xscale.ads +++ b/gcc/ada/system-vxworks-xscale.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Xscale) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -136,6 +136,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; diff --git a/gcc/ada/system.ads b/gcc/ada/system.ads index eca2dc662dd..ff5a57dfa84 100644 --- a/gcc/ada/system.ads +++ b/gcc/ada/system.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (Compiler Version) -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -141,6 +141,7 @@ private Machine_Overflows : constant Boolean := False; Machine_Rounds : constant Boolean := True; OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; Stack_Check_Probes : constant Boolean := False; 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; 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 -- --------------------- -- 2.30.2