Commit b23e28d5 by Jose Ruiz Committed by Arnaud Charlet

targparm.ads, [...] (Targparm_Tags): Add PAS value corresponding to the…

targparm.ads, [...] (Targparm_Tags): Add PAS value corresponding to the Preallocated_Stacks flags in System.

2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>

	* targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
	corresponding to the Preallocated_Stacks flags in System.
	(Get_Target_Parameters): Including the processing for
	Preallocated_Stacks.

	* system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
	system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
	system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
	system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
	system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
	system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
	system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
	system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
	system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
	system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
	used to signal whether the compiler creates the required stacks and
	descriptors for the different tasks (when True) or it is done by the
	underlying operating system at run time (when False).
	It is initially set to False in all targets.

	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
	if it is supported by the target.
	(Make_Task_Create_Call): Pass the stack address if it has been
	previously created. Otherwise pass a Null_Address.

	* snames.adb: Add _stack.

	* snames.ads: Add Name_uStack. Required to allow the expander to
	statically allocated task stacks.

	* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
	Stack_Address argument.
	Check that its value is equal to Null_Address because this target does
	not support the static stack allocation.

From-SVN: r88488
parent 6fd459bb
2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
* targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
corresponding to the Preallocated_Stacks flags in System.
(Get_Target_Parameters): Including the processing for
Preallocated_Stacks.
* system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
used to signal whether the compiler creates the required stacks and
descriptors for the different tasks (when True) or it is done by the
underlying operating system at run time (when False).
It is initially set to False in all targets.
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
if it is supported by the target.
(Make_Task_Create_Call): Pass the stack address if it has been
previously created. Otherwise pass a Null_Address.
* snames.adb: Add _stack.
* snames.ads: Add Name_uStack. Required to allow the expander to
statically allocated task stacks.
* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
Stack_Address argument.
Check that its value is equal to Null_Address because this target does
not support the static stack allocation.
2004-10-04 Thomas Quinot <quinot@act-europe.fr>
* usage.adb: Change "pragma inline" to "pragma Inline" in information
......
......@@ -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
......@@ -7148,6 +7148,9 @@ package body Exp_Ch9 is
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
......
......@@ -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
......
......@@ -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;
......@@ -142,25 +143,38 @@ package System.Tasking.Restricted.Stages is
--
-- Priority is the task's priority (assumed to be in the
-- 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.
--
-- 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.
--
-- Elaborated is a pointer to a Boolean that must be set to true on exit
-- 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).
--
-- 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.
--
-- 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);
......
......@@ -82,6 +82,7 @@ package body Snames is
"_secondary_stack#" &
"_service#" &
"_size#" &
"_stack#" &
"_tags#" &
"_task#" &
"_task_id#" &
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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 --
---------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment