From 21d279972261484650109d662caf32b73a91bf1d Mon Sep 17 00:00:00 2001 From: Robert Dewar Date: Tue, 8 Apr 2008 08:45:25 +0200 Subject: alloc.ads: Add entries for Obsolescent_Warnings table 2008-04-08 Robert Dewar Bob Duff Gary Dismukes Ed Schonberg * alloc.ads: Add entries for Obsolescent_Warnings table * einfo.ads, einfo.adb: Minor reformatting. (Is_Discriminal): New subprogram. (Is_Prival): New subprogram. (Is_Protected_Component): New subprogram. (Is_Protected_Private): Removed. (Object_Ref, Set_Object_Ref): Removed. (Prival, Set_Prival): Change assertion. (Privals_Chain, Set_Privals_Chain): Removed. (Prival_Link, Set_Prival_Link): New subprogram. (Protected_Operation, Set_Protected_Operation): Removed. (Protection_Object, Set_Protection_Object): New subprogram. (Write_Field17_Name): Remove case for Object_Ref. (Write_Field20_Name): Add case for Prival_Link. (Write_Field22_Name): Remove case for Protected_Operation, Privals_Chain. Add case for Protection_Object. (Can_Use_Internal_Rep): Make this into a [base type only] attribute, so clients (Overlays_Constant): New flag (Is_Constant_Object): New predicate (Is_Standard_Character_Type): New predicate (Optimize_Alignment_Space): New flag (Optimize_Alignment_Time): New flag (Has_Postconditions): New flag (Obsolescent_Warrning): Field removed (Spec_PPC_List): New field (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add subprograms to get and set the relative deadline associated to a task. * exp_attr.adb (May_Be_External_Call): Account for the case where the Access attribute is part of a named parameter association. (Expand_Access_To_Protected_Op): Test for the attribute occurring within an init proc and use that directly as the scope rather than traversing up to the protected operation's enclosing scope. Only apply assertion on Is_Open_Scopes in the case the scope traversal is done. For the init proc case use the address of the first formal (_init) as the protected object reference. Implement Invalid_Value attribute (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access. contents of the dispatch table there is no need to duplicate the itypes associated with record types (i.e. the implicit full view of private types). Implement Enum_Val attribute (Expand_N_Attribute_Reference, case Old): Properly handle appearence within _Postconditions procedure (Expand_N_Attribute_Reference, case Result): Implement new attribute * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which a return statement calls a function that is not available in configurable runtime. (Analyze_If_Statement): don't optimize simple True/False cases in -O0 (Expand_Non_Function_Return): Generate call to _Postconditions proc (Expand_Simple_Function_Return): Ditto * frontend.adb: Add call to Sem_Aux.Initialize * sem_aux.ads, sem_aux.adb: New file. * par-prag.adb: Add entries for pragmas Precondition/Postcondition Add new Pragma_Relative_Deadline. Add support for pragmas Check and Check_Policy * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram. (Check_Stream_Attribute): Add missing check (not allowed in CPP types) (Analyze_Attribute): In case of attributes 'Alignment and 'size add missing check because they are not allowed in CPP tagged types. Add Sure parameter to Note_Possible_Modification calls Add implementation of Invalid_Value attribute Implement new attribute Has_Tagged_Values Implement Enum_Val attribute (Analyze_Attribute, case Range): Set Name_Req True for prefix of generated attributes. (Analyze_Attribute, case Result): If prefix of the attribute is overloaded, it always resolves to the enclosing function. (Analyze_Attribute, case Result): Properly deal with analysis when Postconditions are not active. (Resolve_Attribute, case Result): Properly deal with appearence during preanalysis in spec. Add processing for attribute Result * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup for operators. (Analyze_Subprogram_Body): Install private_with_clauses when the body acts as a spec. (Check_Inline_Pragma): recognize an inline pragma that appears within the subprogram body to which it applies. (Analyze_Function_Return): Check that type of the expression of a return statement in a function with a class-wide result is not declared at a deeper level than the function. (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag (Verify_Overriding_Indicator): Handle properly subprogram bodies for user- defined operators. (Install_Formals): Moved to spec to allow use from Sem_Prag for analysis of precondition/postcondition pragmas. (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for Last_Formal, along with lots of comments on what this is about (Analyze_Subprogram_Body): Fix case where we move entities from the spec to the body when there are no body entities (now possible with precondition and postcondition pragmas). (Process_PPCs): New procedure (Analyze_Subprogram_Body): Add call to Process_PPCs * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type clause. (Pop_Scope): Restore Check_Policy_List on scope exit (Push_Scope): Save Check_Policy_List on scope entry Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve (Analyze_Object_Renaming): Allow 'Reference as object (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling of restriction identifier. Add Sure parameter to Note_Possible_Modication calls * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert): Don't check for primitive operations when calling Rep_Item_Too_Late. (Process_Import_Or_Interface): Do not place flag on formal subprograms. (Analyze_Pragma, case Export): If the entity is a deferred constant, propagate information to full view, which is the one elaborated by the back-end. (Make_Inline): the pragma is effective if it applies to an internally generated subprogram declaration for a body that carries the pragma. (Analyze_Pragma, case Optimize_Alignment): Set new flag Optimize_Alignment_Local. (Analyze_PPC_In_Decl_Part): New procedure (Get_Pragma_Arg): Moved to outer level (Check_Precondition_Postcondition): Change to allow new visibility rules for package spec (Analyze_Pragma, case Check_Policy): Change placement rules to be same as pragma Suppress/Unsuppress. Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve (Check_Precondition_Postcondition): Do proper visibility preanalysis for the case of these pragmas appearing in the spec. (Check_Enabled): New function (Initialize): New procedure (Tree_Read): New procedure (Tree_Write): New procedure (Check_Precondition_Postcondition): New procedure Implement pragmas Check and Check_Policy Merge Assert processing with Check * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check New warning flag -gnatw.e * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function returning whether a task (or main procedure) has a pragma Relative_Deadline. (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task (or main procedure) has a pragma Relative_Deadline. Add Next_Pragma field to N_Pragma node (PPC_Enabled): New flag (Next_Pragma): Now used for Pre/Postcondition processing * snames.h, snames.ads, snames.adb: New standard name Inherit_Source_Path Add entry for 'Invalid_Value attribute Add entry for new attribute Has_Tagged_Values Add entry for Enum_Val attribute Add new standard names Aggregate, Configuration and Library. Add _Postconditions Add _Result Add Pragma_Precondition Add Pragma_Postcondition Add Attribute_Result New standard name Archive_Builder_Append_Option (Preset_Names): Add _relative_deadline and relative_deadline definitions There was also a missing non_preemptive_within_priorities. (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma Relative_Deadline. Add support for pragmas Check and Check_Policy * tree_gen.adb: Call Sem_Aux.Tree_Write * tree_in.adb: Call Sem_Aux.Tree_Read * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling sequence * exp_intr.adb (Expand_Source_Info): New Build_Location calling sequence * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure. (Expand_N_Pragma): Call the appropriate procedure for expanding pragma Relative_Deadline. (Expand_Pragma_Check): New procedure * sinput.ads, sinput.adb (Build_Location_String): Now appends to name buffer. * sinfo.adb (PPC_Enabled): New flag From-SVN: r134010 --- gcc/ada/snames.ads | 1530 ++++++++++++++++++++++++++-------------------------- 1 file changed, 779 insertions(+), 751 deletions(-) (limited to 'gcc/ada/snames.ads') diff --git a/gcc/ada/snames.ads b/gcc/ada/snames.ads index 6a6d0ce..696603a 100644 --- a/gcc/ada/snames.ads +++ b/gcc/ada/snames.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2007, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -161,152 +161,154 @@ package Snames is Name_uLocal_Final_List : constant Name_Id := N + 017; Name_uMaster : constant Name_Id := N + 018; Name_uObject : constant Name_Id := N + 019; - Name_uPriority : constant Name_Id := N + 020; - Name_uProcess_ATSD : constant Name_Id := N + 021; - Name_uSecondary_Stack : constant Name_Id := N + 022; - Name_uService : constant Name_Id := N + 023; - Name_uSize : constant Name_Id := N + 024; - 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; + Name_uPostconditions : constant Name_Id := N + 020; + Name_uPriority : constant Name_Id := N + 021; + Name_uProcess_ATSD : constant Name_Id := N + 022; + Name_uRelative_Deadline : constant Name_Id := N + 023; + Name_uResult : constant Name_Id := N + 024; + Name_uSecondary_Stack : constant Name_Id := N + 025; + Name_uService : constant Name_Id := N + 026; + Name_uSize : constant Name_Id := N + 027; + Name_uStack : constant Name_Id := N + 028; + Name_uTags : constant Name_Id := N + 029; + Name_uTask : constant Name_Id := N + 030; + Name_uTask_Id : constant Name_Id := N + 031; + Name_uTask_Info : constant Name_Id := N + 032; + Name_uTask_Name : constant Name_Id := N + 033; + Name_uTrace_Sp : constant Name_Id := N + 034; -- Names of predefined primitives used in the expansion of dispatching -- requeue and select statements, Abort, 'Callable and 'Terminated. - Name_uDisp_Asynchronous_Select : constant Name_Id := N + 032; - Name_uDisp_Conditional_Select : constant Name_Id := N + 033; - Name_uDisp_Get_Prim_Op_Kind : constant Name_Id := N + 034; - Name_uDisp_Get_Task_Id : constant Name_Id := N + 035; - Name_uDisp_Requeue : constant Name_Id := N + 036; - Name_uDisp_Timed_Select : constant Name_Id := N + 037; + Name_uDisp_Asynchronous_Select : constant Name_Id := N + 035; + Name_uDisp_Conditional_Select : constant Name_Id := N + 036; + Name_uDisp_Get_Prim_Op_Kind : constant Name_Id := N + 037; + Name_uDisp_Get_Task_Id : constant Name_Id := N + 038; + Name_uDisp_Requeue : constant Name_Id := N + 039; + Name_uDisp_Timed_Select : constant Name_Id := N + 040; -- Names of routines in Ada.Finalization, needed by expander - Name_Initialize : constant Name_Id := N + 038; - Name_Adjust : constant Name_Id := N + 039; - Name_Finalize : constant Name_Id := N + 040; + Name_Initialize : constant Name_Id := N + 041; + Name_Adjust : constant Name_Id := N + 042; + Name_Finalize : constant Name_Id := N + 043; -- Names of fields declared in System.Finalization_Implementation, -- needed by the expander when generating code for finalization. - Name_Next : constant Name_Id := N + 041; - Name_Prev : constant Name_Id := N + 042; + Name_Next : constant Name_Id := N + 044; + Name_Prev : constant Name_Id := N + 045; -- Names of TSS routines for implementation of DSA over PolyORB - Name_uTypeCode : constant Name_Id := N + 043; - Name_uFrom_Any : constant Name_Id := N + 044; - Name_uTo_Any : constant Name_Id := N + 045; + Name_uTypeCode : constant Name_Id := N + 046; + Name_uFrom_Any : constant Name_Id := N + 047; + Name_uTo_Any : constant Name_Id := N + 048; -- Names of allocation routines, also needed by expander - Name_Allocate : constant Name_Id := N + 046; - Name_Deallocate : constant Name_Id := N + 047; - Name_Dereference : constant Name_Id := N + 048; + Name_Allocate : constant Name_Id := N + 049; + Name_Deallocate : constant Name_Id := N + 050; + Name_Dereference : constant Name_Id := N + 051; -- Names of Text_IO generic subpackages (see Rtsfind.Text_IO_Kludge) - First_Text_IO_Package : constant Name_Id := N + 049; - Name_Decimal_IO : constant Name_Id := N + 049; - Name_Enumeration_IO : constant Name_Id := N + 050; - Name_Fixed_IO : constant Name_Id := N + 051; - Name_Float_IO : constant Name_Id := N + 052; - Name_Integer_IO : constant Name_Id := N + 053; - Name_Modular_IO : constant Name_Id := N + 054; - Last_Text_IO_Package : constant Name_Id := N + 054; + First_Text_IO_Package : constant Name_Id := N + 052; + Name_Decimal_IO : constant Name_Id := N + 052; + Name_Enumeration_IO : constant Name_Id := N + 053; + Name_Fixed_IO : constant Name_Id := N + 054; + Name_Float_IO : constant Name_Id := N + 055; + Name_Integer_IO : constant Name_Id := N + 056; + Name_Modular_IO : constant Name_Id := N + 057; + Last_Text_IO_Package : constant Name_Id := N + 057; subtype Text_IO_Package_Name is Name_Id range First_Text_IO_Package .. Last_Text_IO_Package; -- Some miscellaneous names used for error detection/recovery - Name_Const : constant Name_Id := N + 055; - Name_Error : constant Name_Id := N + 056; - Name_Go : constant Name_Id := N + 057; - Name_Put : constant Name_Id := N + 058; - Name_Put_Line : constant Name_Id := N + 059; - Name_To : constant Name_Id := N + 060; + Name_Const : constant Name_Id := N + 058; + Name_Error : constant Name_Id := N + 059; + Name_Go : constant Name_Id := N + 060; + Name_Put : constant Name_Id := N + 061; + Name_Put_Line : constant Name_Id := N + 062; + Name_To : constant Name_Id := N + 063; -- Names for packages that are treated specially by the compiler - Name_Exception_Traces : constant Name_Id := N + 061; - Name_Finalization : constant Name_Id := N + 062; - Name_Finalization_Root : constant Name_Id := N + 063; - Name_Interfaces : constant Name_Id := N + 064; - Name_Most_Recent_Exception : constant Name_Id := N + 065; - Name_Standard : constant Name_Id := N + 066; - Name_System : constant Name_Id := N + 067; - Name_Text_IO : constant Name_Id := N + 068; - Name_Wide_Text_IO : constant Name_Id := N + 069; - Name_Wide_Wide_Text_IO : constant Name_Id := N + 070; + Name_Exception_Traces : constant Name_Id := N + 064; + Name_Finalization : constant Name_Id := N + 065; + Name_Finalization_Root : constant Name_Id := N + 066; + Name_Interfaces : constant Name_Id := N + 067; + Name_Most_Recent_Exception : constant Name_Id := N + 068; + Name_Standard : constant Name_Id := N + 069; + Name_System : constant Name_Id := N + 070; + Name_Text_IO : constant Name_Id := N + 071; + Name_Wide_Text_IO : constant Name_Id := N + 072; + Name_Wide_Wide_Text_IO : constant Name_Id := N + 073; -- Names of implementations of the distributed systems annex - First_PCS_Name : constant Name_Id := N + 071; - Name_No_DSA : constant Name_Id := N + 071; - Name_GARLIC_DSA : constant Name_Id := N + 072; - Name_PolyORB_DSA : constant Name_Id := N + 073; - Last_PCS_Name : constant Name_Id := N + 073; + First_PCS_Name : constant Name_Id := N + 074; + Name_No_DSA : constant Name_Id := N + 074; + Name_GARLIC_DSA : constant Name_Id := N + 075; + Name_PolyORB_DSA : constant Name_Id := N + 076; + Last_PCS_Name : constant Name_Id := N + 076; subtype PCS_Names is Name_Id range First_PCS_Name .. Last_PCS_Name; -- Names of identifiers used in expanding distribution stubs - Name_Addr : constant Name_Id := N + 074; - Name_Async : constant Name_Id := N + 075; - Name_Get_Active_Partition_ID : constant Name_Id := N + 076; - Name_Get_RCI_Package_Receiver : constant Name_Id := N + 077; - Name_Get_RCI_Package_Ref : constant Name_Id := N + 078; - Name_Origin : constant Name_Id := N + 079; - Name_Params : constant Name_Id := N + 080; - Name_Partition : constant Name_Id := N + 081; - Name_Partition_Interface : constant Name_Id := N + 082; - Name_Ras : constant Name_Id := N + 083; - Name_uCall : constant Name_Id := N + 084; - Name_RCI_Name : constant Name_Id := N + 085; - Name_Receiver : constant Name_Id := N + 086; - Name_Result : constant Name_Id := N + 087; - Name_Rpc : constant Name_Id := N + 088; - Name_Subp_Id : constant Name_Id := N + 089; - Name_Operation : constant Name_Id := N + 090; - Name_Argument : constant Name_Id := N + 091; - Name_Arg_Modes : constant Name_Id := N + 092; - Name_Handler : constant Name_Id := N + 093; - Name_Target : constant Name_Id := N + 094; - Name_Req : constant Name_Id := N + 095; - Name_Obj_TypeCode : constant Name_Id := N + 096; - Name_Stub : constant Name_Id := N + 097; + Name_Addr : constant Name_Id := N + 077; + Name_Async : constant Name_Id := N + 078; + Name_Get_Active_Partition_ID : constant Name_Id := N + 079; + Name_Get_RCI_Package_Receiver : constant Name_Id := N + 080; + Name_Get_RCI_Package_Ref : constant Name_Id := N + 081; + Name_Origin : constant Name_Id := N + 082; + Name_Params : constant Name_Id := N + 083; + Name_Partition : constant Name_Id := N + 084; + Name_Partition_Interface : constant Name_Id := N + 085; + Name_Ras : constant Name_Id := N + 086; + Name_uCall : constant Name_Id := N + 087; + Name_RCI_Name : constant Name_Id := N + 088; + Name_Receiver : constant Name_Id := N + 089; + Name_Rpc : constant Name_Id := N + 090; + Name_Subp_Id : constant Name_Id := N + 091; + Name_Operation : constant Name_Id := N + 092; + Name_Argument : constant Name_Id := N + 093; + Name_Arg_Modes : constant Name_Id := N + 094; + Name_Handler : constant Name_Id := N + 095; + Name_Target : constant Name_Id := N + 096; + Name_Req : constant Name_Id := N + 097; + Name_Obj_TypeCode : constant Name_Id := N + 098; + Name_Stub : constant Name_Id := N + 099; -- 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 + 098; - Name_Op_Abs : constant Name_Id := N + 098; -- "abs" - Name_Op_And : constant Name_Id := N + 099; -- "and" - Name_Op_Mod : constant Name_Id := N + 100; -- "mod" - Name_Op_Not : constant Name_Id := N + 101; -- "not" - Name_Op_Or : constant Name_Id := N + 102; -- "or" - Name_Op_Rem : constant Name_Id := N + 103; -- "rem" - Name_Op_Xor : constant Name_Id := N + 104; -- "xor" - Name_Op_Eq : constant Name_Id := N + 105; -- "=" - Name_Op_Ne : constant Name_Id := N + 106; -- "/=" - Name_Op_Lt : constant Name_Id := N + 107; -- "<" - Name_Op_Le : constant Name_Id := N + 108; -- "<=" - Name_Op_Gt : constant Name_Id := N + 109; -- ">" - Name_Op_Ge : constant Name_Id := N + 110; -- ">=" - Name_Op_Add : constant Name_Id := N + 111; -- "+" - Name_Op_Subtract : constant Name_Id := N + 112; -- "-" - Name_Op_Concat : constant Name_Id := N + 113; -- "&" - Name_Op_Multiply : constant Name_Id := N + 114; -- "*" - Name_Op_Divide : constant Name_Id := N + 115; -- "/" - Name_Op_Expon : constant Name_Id := N + 116; -- "**" - Last_Operator_Name : constant Name_Id := N + 116; + First_Operator_Name : constant Name_Id := N + 100; + Name_Op_Abs : constant Name_Id := N + 100; -- "abs" + Name_Op_And : constant Name_Id := N + 101; -- "and" + Name_Op_Mod : constant Name_Id := N + 102; -- "mod" + Name_Op_Not : constant Name_Id := N + 103; -- "not" + Name_Op_Or : constant Name_Id := N + 104; -- "or" + Name_Op_Rem : constant Name_Id := N + 105; -- "rem" + Name_Op_Xor : constant Name_Id := N + 106; -- "xor" + Name_Op_Eq : constant Name_Id := N + 107; -- "=" + Name_Op_Ne : constant Name_Id := N + 108; -- "/=" + Name_Op_Lt : constant Name_Id := N + 109; -- "<" + Name_Op_Le : constant Name_Id := N + 110; -- "<=" + Name_Op_Gt : constant Name_Id := N + 111; -- ">" + Name_Op_Ge : constant Name_Id := N + 112; -- ">=" + Name_Op_Add : constant Name_Id := N + 113; -- "+" + Name_Op_Subtract : constant Name_Id := N + 114; -- "-" + Name_Op_Concat : constant Name_Id := N + 115; -- "&" + Name_Op_Multiply : constant Name_Id := N + 116; -- "*" + Name_Op_Divide : constant Name_Id := N + 117; -- "/" + Name_Op_Expon : constant Name_Id := N + 118; -- "**" + Last_Operator_Name : constant Name_Id := N + 118; -- 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. @@ -329,31 +331,31 @@ 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 + 117; + First_Pragma_Name : constant Name_Id := N + 119; -- Configuration pragmas are grouped at start - Name_Ada_83 : constant Name_Id := N + 117; -- GNAT - Name_Ada_95 : constant Name_Id := N + 118; -- GNAT - Name_Ada_05 : constant Name_Id := N + 119; -- GNAT - Name_Ada_2005 : constant Name_Id := N + 120; -- GNAT - Name_Assertion_Policy : constant Name_Id := N + 121; -- Ada 05 - Name_C_Pass_By_Copy : constant Name_Id := N + 122; -- GNAT - Name_Check_Name : constant Name_Id := N + 123; -- GNAT - Name_Compile_Time_Error : constant Name_Id := N + 124; -- GNAT - Name_Compile_Time_Warning : constant Name_Id := N + 125; -- GNAT - Name_Compiler_Unit : constant Name_Id := N + 126; -- GNAT - Name_Component_Alignment : constant Name_Id := N + 127; -- GNAT - Name_Convention_Identifier : constant Name_Id := N + 128; -- GNAT - Name_Debug_Policy : constant Name_Id := N + 129; -- GNAT - Name_Detect_Blocking : constant Name_Id := N + 130; -- Ada 05 - Name_Discard_Names : constant Name_Id := N + 131; - Name_Elaboration_Checks : constant Name_Id := N + 132; -- GNAT - Name_Eliminate : constant Name_Id := N + 133; -- GNAT - Name_Extend_System : constant Name_Id := N + 134; -- GNAT - Name_Extensions_Allowed : constant Name_Id := N + 135; -- GNAT - Name_External_Name_Casing : constant Name_Id := N + 136; -- GNAT - Name_Favor_Top_Level : constant Name_Id := N + 137; -- GNAT + Name_Ada_83 : constant Name_Id := N + 119; -- GNAT + Name_Ada_95 : constant Name_Id := N + 120; -- GNAT + Name_Ada_05 : constant Name_Id := N + 121; -- GNAT + Name_Ada_2005 : constant Name_Id := N + 122; -- GNAT + Name_Assertion_Policy : constant Name_Id := N + 123; -- Ada 05 + Name_C_Pass_By_Copy : constant Name_Id := N + 124; -- GNAT + Name_Check_Name : constant Name_Id := N + 125; -- GNAT + Name_Check_Policy : constant Name_Id := N + 126; -- GNAT + Name_Compile_Time_Error : constant Name_Id := N + 127; -- GNAT + Name_Compile_Time_Warning : constant Name_Id := N + 128; -- GNAT + Name_Compiler_Unit : constant Name_Id := N + 129; -- GNAT + Name_Component_Alignment : constant Name_Id := N + 130; -- GNAT + Name_Convention_Identifier : constant Name_Id := N + 131; -- GNAT + Name_Debug_Policy : constant Name_Id := N + 132; -- GNAT + Name_Detect_Blocking : constant Name_Id := N + 133; -- Ada 05 + Name_Discard_Names : constant Name_Id := N + 134; + Name_Elaboration_Checks : constant Name_Id := N + 135; -- GNAT + Name_Eliminate : constant Name_Id := N + 136; -- GNAT + Name_Extend_System : constant Name_Id := N + 137; -- GNAT + Name_Extensions_Allowed : constant Name_Id := N + 138; -- GNAT + Name_External_Name_Casing : constant Name_Id := N + 139; -- GNAT -- Note: Fast_Math is not in this list because its name matches -- GNAT -- the name of the corresponding attribute. However, it is @@ -361,48 +363,49 @@ package Snames is -- functions Get_Pragma_Id, Is_[Configuration_]Pragma_Id, and -- correctly recognize and process Fast_Math. - Name_Float_Representation : constant Name_Id := N + 138; -- GNAT - Name_Implicit_Packing : constant Name_Id := N + 139; -- GNAT - Name_Initialize_Scalars : constant Name_Id := N + 140; -- GNAT - Name_Interrupt_State : constant Name_Id := N + 141; -- GNAT - Name_License : constant Name_Id := N + 142; -- GNAT - Name_Locking_Policy : constant Name_Id := N + 143; - Name_Long_Float : constant Name_Id := N + 144; -- VMS - Name_No_Run_Time : constant Name_Id := N + 145; -- GNAT - Name_No_Strict_Aliasing : constant Name_Id := N + 146; -- GNAT - Name_Normalize_Scalars : constant Name_Id := N + 147; - Name_Optimize_Alignment : constant Name_Id := N + 148; -- GNAT - Name_Polling : constant Name_Id := N + 149; -- GNAT - Name_Persistent_BSS : constant Name_Id := N + 150; -- GNAT - Name_Priority_Specific_Dispatching : constant Name_Id := N + 151; -- Ada 05 - Name_Profile : constant Name_Id := N + 152; -- Ada 05 - Name_Profile_Warnings : constant Name_Id := N + 153; -- GNAT - Name_Propagate_Exceptions : constant Name_Id := N + 154; -- GNAT - Name_Queuing_Policy : constant Name_Id := N + 155; - Name_Ravenscar : constant Name_Id := N + 156; -- GNAT - Name_Restricted_Run_Time : constant Name_Id := N + 157; -- GNAT - Name_Restrictions : constant Name_Id := N + 158; - Name_Restriction_Warnings : constant Name_Id := N + 159; -- GNAT - Name_Reviewable : constant Name_Id := N + 160; - Name_Source_File_Name : constant Name_Id := N + 161; -- GNAT - Name_Source_File_Name_Project : constant Name_Id := N + 162; -- GNAT - Name_Style_Checks : constant Name_Id := N + 163; -- GNAT - Name_Suppress : constant Name_Id := N + 164; - Name_Suppress_Exception_Locations : constant Name_Id := N + 165; -- GNAT - Name_Task_Dispatching_Policy : constant Name_Id := N + 166; - Name_Universal_Data : constant Name_Id := N + 167; -- AAMP - Name_Unsuppress : constant Name_Id := N + 168; -- GNAT - Name_Use_VADS_Size : constant Name_Id := N + 169; -- GNAT - Name_Validity_Checks : constant Name_Id := N + 170; -- GNAT - Name_Warnings : constant Name_Id := N + 171; -- GNAT - Name_Wide_Character_Encoding : constant Name_Id := N + 172; -- GNAT - Last_Configuration_Pragma_Name : constant Name_Id := N + 172; + Name_Favor_Top_Level : constant Name_Id := N + 140; -- GNAT + Name_Float_Representation : constant Name_Id := N + 141; -- GNAT + Name_Implicit_Packing : constant Name_Id := N + 142; -- GNAT + Name_Initialize_Scalars : constant Name_Id := N + 143; -- GNAT + Name_Interrupt_State : constant Name_Id := N + 144; -- GNAT + Name_License : constant Name_Id := N + 145; -- GNAT + Name_Locking_Policy : constant Name_Id := N + 146; + Name_Long_Float : constant Name_Id := N + 147; -- VMS + Name_No_Run_Time : constant Name_Id := N + 148; -- GNAT + Name_No_Strict_Aliasing : constant Name_Id := N + 149; -- GNAT + Name_Normalize_Scalars : constant Name_Id := N + 150; + Name_Optimize_Alignment : constant Name_Id := N + 151; -- GNAT + Name_Persistent_BSS : constant Name_Id := N + 152; -- GNAT + Name_Polling : constant Name_Id := N + 153; -- GNAT + Name_Priority_Specific_Dispatching : constant Name_Id := N + 154; -- Ada 05 + Name_Profile : constant Name_Id := N + 155; -- Ada 05 + Name_Profile_Warnings : constant Name_Id := N + 156; -- GNAT + Name_Propagate_Exceptions : constant Name_Id := N + 157; -- GNAT + Name_Queuing_Policy : constant Name_Id := N + 158; + Name_Ravenscar : constant Name_Id := N + 159; -- GNAT + Name_Restricted_Run_Time : constant Name_Id := N + 160; -- GNAT + Name_Restrictions : constant Name_Id := N + 161; + Name_Restriction_Warnings : constant Name_Id := N + 162; -- GNAT + Name_Reviewable : constant Name_Id := N + 163; + Name_Source_File_Name : constant Name_Id := N + 164; -- GNAT + Name_Source_File_Name_Project : constant Name_Id := N + 165; -- GNAT + Name_Style_Checks : constant Name_Id := N + 166; -- GNAT + Name_Suppress : constant Name_Id := N + 167; + Name_Suppress_Exception_Locations : constant Name_Id := N + 168; -- GNAT + Name_Task_Dispatching_Policy : constant Name_Id := N + 169; + Name_Universal_Data : constant Name_Id := N + 170; -- AAMP + Name_Unsuppress : constant Name_Id := N + 171; -- GNAT + Name_Use_VADS_Size : constant Name_Id := N + 172; -- GNAT + Name_Validity_Checks : constant Name_Id := N + 173; -- GNAT + Name_Warnings : constant Name_Id := N + 174; -- GNAT + Name_Wide_Character_Encoding : constant Name_Id := N + 175; -- GNAT + Last_Configuration_Pragma_Name : constant Name_Id := N + 175; -- Remaining pragma names - Name_Abort_Defer : constant Name_Id := N + 173; -- GNAT - Name_All_Calls_Remote : constant Name_Id := N + 174; - Name_Annotate : constant Name_Id := N + 175; -- GNAT + Name_Abort_Defer : constant Name_Id := N + 176; -- GNAT + Name_All_Calls_Remote : constant Name_Id := N + 177; + Name_Annotate : constant Name_Id := N + 178; -- GNAT -- Note: AST_Entry is not in this list because its name matches -- VMS -- the name of the corresponding attribute. However, it is @@ -410,74 +413,77 @@ package Snames is -- functions Get_Pragma_Id and Is_Pragma_Id correctly recognize -- and process Name_AST_Entry. - Name_Assert : constant Name_Id := N + 176; -- Ada 05 - Name_Asynchronous : constant Name_Id := N + 177; - Name_Atomic : constant Name_Id := N + 178; - Name_Atomic_Components : constant Name_Id := N + 179; - Name_Attach_Handler : constant Name_Id := N + 180; - Name_CIL_Constructor : constant Name_Id := N + 181; -- GNAT - Name_Comment : constant Name_Id := N + 182; -- GNAT - Name_Common_Object : constant Name_Id := N + 183; -- GNAT - Name_Complete_Representation : constant Name_Id := N + 184; -- GNAT - Name_Complex_Representation : constant Name_Id := N + 185; -- GNAT - Name_Controlled : constant Name_Id := N + 186; - Name_Convention : constant Name_Id := N + 187; - Name_CPP_Class : constant Name_Id := N + 188; -- GNAT - Name_CPP_Constructor : constant Name_Id := N + 189; -- GNAT - Name_CPP_Virtual : constant Name_Id := N + 190; -- GNAT - Name_CPP_Vtable : constant Name_Id := N + 191; -- GNAT - Name_Debug : constant Name_Id := N + 192; -- GNAT - Name_Elaborate : constant Name_Id := N + 193; -- Ada 83 - Name_Elaborate_All : constant Name_Id := N + 194; - Name_Elaborate_Body : constant Name_Id := N + 195; - Name_Export : constant Name_Id := N + 196; - Name_Export_Exception : constant Name_Id := N + 197; -- VMS - Name_Export_Function : constant Name_Id := N + 198; -- GNAT - Name_Export_Object : constant Name_Id := N + 199; -- GNAT - Name_Export_Procedure : constant Name_Id := N + 200; -- GNAT - Name_Export_Value : constant Name_Id := N + 201; -- GNAT - Name_Export_Valued_Procedure : constant Name_Id := N + 202; -- GNAT - Name_External : constant Name_Id := N + 203; -- GNAT - Name_Finalize_Storage_Only : constant Name_Id := N + 204; -- GNAT - Name_Ident : constant Name_Id := N + 205; -- VMS - Name_Implemented_By_Entry : constant Name_Id := N + 206; -- Ada 05 - Name_Import : constant Name_Id := N + 207; - Name_Import_Exception : constant Name_Id := N + 208; -- VMS - Name_Import_Function : constant Name_Id := N + 209; -- GNAT - Name_Import_Object : constant Name_Id := N + 210; -- GNAT - Name_Import_Procedure : constant Name_Id := N + 211; -- GNAT - Name_Import_Valued_Procedure : constant Name_Id := N + 212; -- GNAT - Name_Inline : constant Name_Id := N + 213; - Name_Inline_Always : constant Name_Id := N + 214; -- GNAT - Name_Inline_Generic : constant Name_Id := N + 215; -- GNAT - Name_Inspection_Point : constant Name_Id := N + 216; - Name_Interface_Name : constant Name_Id := N + 217; -- GNAT - Name_Interrupt_Handler : constant Name_Id := N + 218; - Name_Interrupt_Priority : constant Name_Id := N + 219; - Name_Java_Constructor : constant Name_Id := N + 220; -- GNAT - Name_Java_Interface : constant Name_Id := N + 221; -- GNAT - Name_Keep_Names : constant Name_Id := N + 222; -- GNAT - Name_Link_With : constant Name_Id := N + 223; -- GNAT - Name_Linker_Alias : constant Name_Id := N + 224; -- GNAT - Name_Linker_Constructor : constant Name_Id := N + 225; -- GNAT - Name_Linker_Destructor : constant Name_Id := N + 226; -- GNAT - Name_Linker_Options : constant Name_Id := N + 227; - Name_Linker_Section : constant Name_Id := N + 228; -- GNAT - Name_List : constant Name_Id := N + 229; - Name_Machine_Attribute : constant Name_Id := N + 230; -- GNAT - Name_Main : constant Name_Id := N + 231; -- GNAT - Name_Main_Storage : constant Name_Id := N + 232; -- GNAT - Name_Memory_Size : constant Name_Id := N + 233; -- Ada 83 - Name_No_Body : constant Name_Id := N + 234; -- GNAT - Name_No_Return : constant Name_Id := N + 235; -- GNAT - Name_Obsolescent : constant Name_Id := N + 236; -- GNAT - Name_Optimize : constant Name_Id := N + 237; - Name_Pack : constant Name_Id := N + 238; - Name_Page : constant Name_Id := N + 239; - Name_Passive : constant Name_Id := N + 240; -- GNAT - Name_Preelaborable_Initialization : constant Name_Id := N + 241; -- Ada 05 - Name_Preelaborate : constant Name_Id := N + 242; - Name_Preelaborate_05 : constant Name_Id := N + 243; -- GNAT + Name_Assert : constant Name_Id := N + 179; -- Ada 05 + Name_Asynchronous : constant Name_Id := N + 180; + Name_Atomic : constant Name_Id := N + 181; + Name_Atomic_Components : constant Name_Id := N + 182; + Name_Attach_Handler : constant Name_Id := N + 183; + Name_Check : constant Name_Id := N + 184; -- GNAT + Name_CIL_Constructor : constant Name_Id := N + 185; -- GNAT + Name_Comment : constant Name_Id := N + 186; -- GNAT + Name_Common_Object : constant Name_Id := N + 187; -- GNAT + Name_Complete_Representation : constant Name_Id := N + 188; -- GNAT + Name_Complex_Representation : constant Name_Id := N + 189; -- GNAT + Name_Controlled : constant Name_Id := N + 190; + Name_Convention : constant Name_Id := N + 191; + Name_CPP_Class : constant Name_Id := N + 192; -- GNAT + Name_CPP_Constructor : constant Name_Id := N + 193; -- GNAT + Name_CPP_Virtual : constant Name_Id := N + 194; -- GNAT + Name_CPP_Vtable : constant Name_Id := N + 195; -- GNAT + Name_Debug : constant Name_Id := N + 196; -- GNAT + Name_Elaborate : constant Name_Id := N + 197; -- Ada 83 + Name_Elaborate_All : constant Name_Id := N + 198; + Name_Elaborate_Body : constant Name_Id := N + 199; + Name_Export : constant Name_Id := N + 200; + Name_Export_Exception : constant Name_Id := N + 201; -- VMS + Name_Export_Function : constant Name_Id := N + 202; -- GNAT + Name_Export_Object : constant Name_Id := N + 203; -- GNAT + Name_Export_Procedure : constant Name_Id := N + 204; -- GNAT + Name_Export_Value : constant Name_Id := N + 205; -- GNAT + Name_Export_Valued_Procedure : constant Name_Id := N + 206; -- GNAT + Name_External : constant Name_Id := N + 207; -- GNAT + Name_Finalize_Storage_Only : constant Name_Id := N + 208; -- GNAT + Name_Ident : constant Name_Id := N + 209; -- VMS + Name_Implemented_By_Entry : constant Name_Id := N + 210; -- Ada 05 + Name_Import : constant Name_Id := N + 211; + Name_Import_Exception : constant Name_Id := N + 212; -- VMS + Name_Import_Function : constant Name_Id := N + 213; -- GNAT + Name_Import_Object : constant Name_Id := N + 214; -- GNAT + Name_Import_Procedure : constant Name_Id := N + 215; -- GNAT + Name_Import_Valued_Procedure : constant Name_Id := N + 216; -- GNAT + Name_Inline : constant Name_Id := N + 217; + Name_Inline_Always : constant Name_Id := N + 218; -- GNAT + Name_Inline_Generic : constant Name_Id := N + 219; -- GNAT + Name_Inspection_Point : constant Name_Id := N + 220; + Name_Interface_Name : constant Name_Id := N + 221; -- GNAT + Name_Interrupt_Handler : constant Name_Id := N + 222; + Name_Interrupt_Priority : constant Name_Id := N + 223; + Name_Java_Constructor : constant Name_Id := N + 224; -- GNAT + Name_Java_Interface : constant Name_Id := N + 225; -- GNAT + Name_Keep_Names : constant Name_Id := N + 226; -- GNAT + Name_Link_With : constant Name_Id := N + 227; -- GNAT + Name_Linker_Alias : constant Name_Id := N + 228; -- GNAT + Name_Linker_Constructor : constant Name_Id := N + 229; -- GNAT + Name_Linker_Destructor : constant Name_Id := N + 230; -- GNAT + Name_Linker_Options : constant Name_Id := N + 231; + Name_Linker_Section : constant Name_Id := N + 232; -- GNAT + Name_List : constant Name_Id := N + 233; + Name_Machine_Attribute : constant Name_Id := N + 234; -- GNAT + Name_Main : constant Name_Id := N + 235; -- GNAT + Name_Main_Storage : constant Name_Id := N + 236; -- GNAT + Name_Memory_Size : constant Name_Id := N + 237; -- Ada 83 + Name_No_Body : constant Name_Id := N + 238; -- GNAT + Name_No_Return : constant Name_Id := N + 239; -- GNAT + Name_Obsolescent : constant Name_Id := N + 240; -- GNAT + Name_Optimize : constant Name_Id := N + 241; + Name_Pack : constant Name_Id := N + 242; + Name_Page : constant Name_Id := N + 243; + Name_Passive : constant Name_Id := N + 244; -- GNAT + Name_Postcondition : constant Name_Id := N + 245; -- GNAT + Name_Precondition : constant Name_Id := N + 246; -- GNAT + Name_Preelaborable_Initialization : constant Name_Id := N + 247; -- Ada 05 + Name_Preelaborate : constant Name_Id := N + 248; + Name_Preelaborate_05 : constant Name_Id := N + 249; -- GNAT -- Note: Priority is not in this list because its name matches -- the name of the corresponding attribute. However, it is @@ -485,15 +491,16 @@ package Snames is -- functions Get_Pragma_Id and Is_Pragma_Id correctly recognize -- and process Priority. Priority is a standard Ada 95 pragma. - Name_Psect_Object : constant Name_Id := N + 244; -- VMS - Name_Pure : constant Name_Id := N + 245; - Name_Pure_05 : constant Name_Id := N + 246; -- GNAT - Name_Pure_Function : constant Name_Id := N + 247; -- GNAT - Name_Remote_Call_Interface : constant Name_Id := N + 248; - Name_Remote_Types : constant Name_Id := N + 249; - Name_Share_Generic : constant Name_Id := N + 250; -- GNAT - Name_Shared : constant Name_Id := N + 251; -- Ada 83 - Name_Shared_Passive : constant Name_Id := N + 252; + Name_Psect_Object : constant Name_Id := N + 250; -- VMS + Name_Pure : constant Name_Id := N + 251; + Name_Pure_05 : constant Name_Id := N + 252; -- GNAT + Name_Pure_Function : constant Name_Id := N + 253; -- GNAT + Name_Relative_Deadline : constant Name_Id := N + 254; -- Ada 05 + Name_Remote_Call_Interface : constant Name_Id := N + 255; + Name_Remote_Types : constant Name_Id := N + 256; + Name_Share_Generic : constant Name_Id := N + 257; -- GNAT + Name_Shared : constant Name_Id := N + 258; -- Ada 83 + Name_Shared_Passive : constant Name_Id := N + 259; -- Note: Storage_Size is not in this list because its name -- matches the name of the corresponding attribute. However, @@ -504,30 +511,30 @@ 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 + 253; -- GNAT - Name_Static_Elaboration_Desired : constant Name_Id := N + 254; -- GNAT - Name_Stream_Convert : constant Name_Id := N + 255; -- GNAT - Name_Subtitle : constant Name_Id := N + 256; -- GNAT - Name_Suppress_All : constant Name_Id := N + 257; -- GNAT - Name_Suppress_Debug_Info : constant Name_Id := N + 258; -- GNAT - Name_Suppress_Initialization : constant Name_Id := N + 259; -- GNAT - Name_System_Name : constant Name_Id := N + 260; -- Ada 83 - Name_Task_Info : constant Name_Id := N + 261; -- GNAT - Name_Task_Name : constant Name_Id := N + 262; -- GNAT - Name_Task_Storage : constant Name_Id := N + 263; -- VMS - Name_Time_Slice : constant Name_Id := N + 264; -- GNAT - Name_Title : constant Name_Id := N + 265; -- GNAT - Name_Unchecked_Union : constant Name_Id := N + 266; -- GNAT - Name_Unimplemented_Unit : constant Name_Id := N + 267; -- GNAT - Name_Universal_Aliasing : constant Name_Id := N + 268; -- GNAT - Name_Unmodified : constant Name_Id := N + 269; -- GNAT - Name_Unreferenced : constant Name_Id := N + 270; -- GNAT - Name_Unreferenced_Objects : constant Name_Id := N + 271; -- GNAT - Name_Unreserve_All_Interrupts : constant Name_Id := N + 272; -- GNAT - Name_Volatile : constant Name_Id := N + 273; - Name_Volatile_Components : constant Name_Id := N + 274; - Name_Weak_External : constant Name_Id := N + 275; -- GNAT - Last_Pragma_Name : constant Name_Id := N + 275; + Name_Source_Reference : constant Name_Id := N + 260; -- GNAT + Name_Static_Elaboration_Desired : constant Name_Id := N + 261; -- GNAT + Name_Stream_Convert : constant Name_Id := N + 262; -- GNAT + Name_Subtitle : constant Name_Id := N + 263; -- GNAT + Name_Suppress_All : constant Name_Id := N + 264; -- GNAT + Name_Suppress_Debug_Info : constant Name_Id := N + 265; -- GNAT + Name_Suppress_Initialization : constant Name_Id := N + 266; -- GNAT + Name_System_Name : constant Name_Id := N + 267; -- Ada 83 + Name_Task_Info : constant Name_Id := N + 268; -- GNAT + Name_Task_Name : constant Name_Id := N + 269; -- GNAT + Name_Task_Storage : constant Name_Id := N + 270; -- VMS + Name_Time_Slice : constant Name_Id := N + 271; -- GNAT + Name_Title : constant Name_Id := N + 272; -- GNAT + Name_Unchecked_Union : constant Name_Id := N + 273; -- GNAT + Name_Unimplemented_Unit : constant Name_Id := N + 274; -- GNAT + Name_Universal_Aliasing : constant Name_Id := N + 275; -- GNAT + Name_Unmodified : constant Name_Id := N + 276; -- GNAT + Name_Unreferenced : constant Name_Id := N + 277; -- GNAT + Name_Unreferenced_Objects : constant Name_Id := N + 278; -- GNAT + Name_Unreserve_All_Interrupts : constant Name_Id := N + 279; -- GNAT + Name_Volatile : constant Name_Id := N + 280; + Name_Volatile_Components : constant Name_Id := N + 281; + Name_Weak_External : constant Name_Id := N + 282; -- GNAT + Last_Pragma_Name : constant Name_Id := N + 282; -- Language convention names for pragma Convention/Export/Import/Interface -- Note that Name_C is not included in this list, since it was already @@ -538,119 +545,119 @@ package Snames is -- Entry and Protected, this is because these conventions cannot be -- specified by a pragma. - First_Convention_Name : constant Name_Id := N + 276; - Name_Ada : constant Name_Id := N + 276; - Name_Assembler : constant Name_Id := N + 277; - Name_CIL : constant Name_Id := N + 278; - Name_COBOL : constant Name_Id := N + 279; - Name_CPP : constant Name_Id := N + 280; - Name_Fortran : constant Name_Id := N + 281; - Name_Intrinsic : constant Name_Id := N + 282; - Name_Java : constant Name_Id := N + 283; - Name_Stdcall : constant Name_Id := N + 284; - Name_Stubbed : constant Name_Id := N + 285; - Last_Convention_Name : constant Name_Id := N + 285; + First_Convention_Name : constant Name_Id := N + 283; + Name_Ada : constant Name_Id := N + 283; + Name_Assembler : constant Name_Id := N + 284; + Name_CIL : constant Name_Id := N + 285; + Name_COBOL : constant Name_Id := N + 286; + Name_CPP : constant Name_Id := N + 287; + Name_Fortran : constant Name_Id := N + 288; + Name_Intrinsic : constant Name_Id := N + 289; + Name_Java : constant Name_Id := N + 290; + Name_Stdcall : constant Name_Id := N + 291; + Name_Stubbed : constant Name_Id := N + 292; + Last_Convention_Name : constant Name_Id := N + 292; -- The following names are preset as synonyms for Assembler - Name_Asm : constant Name_Id := N + 286; - Name_Assembly : constant Name_Id := N + 287; + Name_Asm : constant Name_Id := N + 293; + Name_Assembly : constant Name_Id := N + 294; -- The following names are preset as synonyms for C - Name_Default : constant Name_Id := N + 288; + Name_Default : constant Name_Id := N + 295; -- Name_Exernal (previously defined as pragma) -- The following names are preset as synonyms for CPP - Name_C_Plus_Plus : constant Name_Id := N + 289; + Name_C_Plus_Plus : constant Name_Id := N + 296; -- The following names are present as synonyms for Stdcall - Name_DLL : constant Name_Id := N + 290; - Name_Win32 : constant Name_Id := N + 291; + Name_DLL : constant Name_Id := N + 297; + Name_Win32 : constant Name_Id := N + 298; -- Other special names used in processing pragmas - Name_As_Is : constant Name_Id := N + 292; - Name_Attribute_Name : constant Name_Id := N + 293; - Name_Body_File_Name : constant Name_Id := N + 294; - Name_Boolean_Entry_Barriers : constant Name_Id := N + 295; - Name_Check : constant Name_Id := N + 296; - Name_Casing : constant Name_Id := N + 297; - Name_Code : constant Name_Id := N + 298; - Name_Component : constant Name_Id := N + 299; - Name_Component_Size_4 : constant Name_Id := N + 300; - Name_Copy : constant Name_Id := N + 301; - Name_D_Float : constant Name_Id := N + 302; - Name_Descriptor : constant Name_Id := N + 303; - Name_Dot_Replacement : constant Name_Id := N + 304; - Name_Dynamic : constant Name_Id := N + 305; - Name_Entity : constant Name_Id := N + 306; - Name_Entry_Count : constant Name_Id := N + 307; - Name_External_Name : constant Name_Id := N + 308; - Name_First_Optional_Parameter : constant Name_Id := N + 309; - Name_Form : constant Name_Id := N + 310; - Name_G_Float : constant Name_Id := N + 311; - Name_Gcc : constant Name_Id := N + 312; - Name_Gnat : constant Name_Id := N + 313; - Name_GPL : constant Name_Id := N + 314; - Name_IEEE_Float : constant Name_Id := N + 315; - Name_Ignore : constant Name_Id := N + 316; - Name_Info : constant Name_Id := N + 317; - Name_Internal : constant Name_Id := N + 318; - Name_Link_Name : constant Name_Id := N + 319; - Name_Lowercase : constant Name_Id := N + 320; - Name_Max_Entry_Queue_Depth : constant Name_Id := N + 321; - Name_Max_Entry_Queue_Length : constant Name_Id := N + 322; - Name_Max_Size : constant Name_Id := N + 323; - Name_Mechanism : constant Name_Id := N + 324; - Name_Message : constant Name_Id := N + 325; - Name_Mixedcase : constant Name_Id := N + 326; - Name_Modified_GPL : constant Name_Id := N + 327; - Name_Name : constant Name_Id := N + 328; - Name_NCA : constant Name_Id := N + 329; - Name_No : constant Name_Id := N + 330; - Name_No_Dependence : constant Name_Id := N + 331; - Name_No_Dynamic_Attachment : constant Name_Id := N + 332; - Name_No_Dynamic_Interrupts : constant Name_Id := N + 333; - Name_No_Requeue : constant Name_Id := N + 334; - Name_No_Requeue_Statements : constant Name_Id := N + 335; - Name_No_Task_Attributes : constant Name_Id := N + 336; - Name_No_Task_Attributes_Package : constant Name_Id := N + 337; - Name_On : constant Name_Id := N + 338; - Name_Parameter_Types : constant Name_Id := N + 339; - Name_Reference : constant Name_Id := N + 340; - Name_Restricted : constant Name_Id := N + 341; - Name_Result_Mechanism : constant Name_Id := N + 342; - Name_Result_Type : constant Name_Id := N + 343; - Name_Runtime : constant Name_Id := N + 344; - Name_SB : constant Name_Id := N + 345; - Name_Secondary_Stack_Size : constant Name_Id := N + 346; - Name_Section : constant Name_Id := N + 347; - Name_Semaphore : constant Name_Id := N + 348; - Name_Simple_Barriers : constant Name_Id := N + 349; - Name_Spec_File_Name : constant Name_Id := N + 350; - Name_State : constant Name_Id := N + 351; - Name_Static : constant Name_Id := N + 352; - Name_Stack_Size : constant Name_Id := N + 353; - Name_Subunit_File_Name : constant Name_Id := N + 354; - Name_Task_Stack_Size_Default : constant Name_Id := N + 355; - Name_Task_Type : constant Name_Id := N + 356; - Name_Time_Slicing_Enabled : constant Name_Id := N + 357; - Name_Top_Guard : constant Name_Id := N + 358; - Name_UBA : constant Name_Id := N + 359; - Name_UBS : constant Name_Id := N + 360; - Name_UBSB : constant Name_Id := N + 361; - Name_Unit_Name : constant Name_Id := N + 362; - Name_Unknown : constant Name_Id := N + 363; - Name_Unrestricted : constant Name_Id := N + 364; - Name_Uppercase : constant Name_Id := N + 365; - Name_User : constant Name_Id := N + 366; - Name_VAX_Float : constant Name_Id := N + 367; - Name_VMS : constant Name_Id := N + 368; - Name_Vtable_Ptr : constant Name_Id := N + 369; - Name_Working_Storage : constant Name_Id := N + 370; + Name_As_Is : constant Name_Id := N + 299; + Name_Assertion : constant Name_Id := N + 300; + Name_Attribute_Name : constant Name_Id := N + 301; + Name_Body_File_Name : constant Name_Id := N + 302; + Name_Boolean_Entry_Barriers : constant Name_Id := N + 303; + Name_Casing : constant Name_Id := N + 304; + Name_Code : constant Name_Id := N + 305; + Name_Component : constant Name_Id := N + 306; + Name_Component_Size_4 : constant Name_Id := N + 307; + Name_Copy : constant Name_Id := N + 308; + Name_D_Float : constant Name_Id := N + 309; + Name_Descriptor : constant Name_Id := N + 310; + Name_Dot_Replacement : constant Name_Id := N + 311; + Name_Dynamic : constant Name_Id := N + 312; + Name_Entity : constant Name_Id := N + 313; + Name_Entry_Count : constant Name_Id := N + 314; + Name_External_Name : constant Name_Id := N + 315; + Name_First_Optional_Parameter : constant Name_Id := N + 316; + Name_Form : constant Name_Id := N + 317; + Name_G_Float : constant Name_Id := N + 318; + Name_Gcc : constant Name_Id := N + 319; + Name_Gnat : constant Name_Id := N + 320; + Name_GPL : constant Name_Id := N + 321; + Name_IEEE_Float : constant Name_Id := N + 322; + Name_Ignore : constant Name_Id := N + 323; + Name_Info : constant Name_Id := N + 324; + Name_Internal : constant Name_Id := N + 325; + Name_Link_Name : constant Name_Id := N + 326; + Name_Lowercase : constant Name_Id := N + 327; + Name_Max_Entry_Queue_Depth : constant Name_Id := N + 328; + Name_Max_Entry_Queue_Length : constant Name_Id := N + 329; + Name_Max_Size : constant Name_Id := N + 330; + Name_Mechanism : constant Name_Id := N + 331; + Name_Message : constant Name_Id := N + 332; + Name_Mixedcase : constant Name_Id := N + 333; + Name_Modified_GPL : constant Name_Id := N + 334; + Name_Name : constant Name_Id := N + 335; + Name_NCA : constant Name_Id := N + 336; + Name_No : constant Name_Id := N + 337; + Name_No_Dependence : constant Name_Id := N + 338; + Name_No_Dynamic_Attachment : constant Name_Id := N + 339; + Name_No_Dynamic_Interrupts : constant Name_Id := N + 340; + Name_No_Requeue : constant Name_Id := N + 341; + Name_No_Requeue_Statements : constant Name_Id := N + 342; + Name_No_Task_Attributes : constant Name_Id := N + 343; + Name_No_Task_Attributes_Package : constant Name_Id := N + 344; + Name_On : constant Name_Id := N + 345; + Name_Parameter_Types : constant Name_Id := N + 346; + Name_Reference : constant Name_Id := N + 347; + Name_Restricted : constant Name_Id := N + 348; + Name_Result_Mechanism : constant Name_Id := N + 349; + Name_Result_Type : constant Name_Id := N + 350; + Name_Runtime : constant Name_Id := N + 351; + Name_SB : constant Name_Id := N + 352; + Name_Secondary_Stack_Size : constant Name_Id := N + 353; + Name_Section : constant Name_Id := N + 354; + Name_Semaphore : constant Name_Id := N + 355; + Name_Simple_Barriers : constant Name_Id := N + 356; + Name_Spec_File_Name : constant Name_Id := N + 357; + Name_State : constant Name_Id := N + 358; + Name_Static : constant Name_Id := N + 359; + Name_Stack_Size : constant Name_Id := N + 360; + Name_Subunit_File_Name : constant Name_Id := N + 361; + Name_Task_Stack_Size_Default : constant Name_Id := N + 362; + Name_Task_Type : constant Name_Id := N + 363; + Name_Time_Slicing_Enabled : constant Name_Id := N + 364; + Name_Top_Guard : constant Name_Id := N + 365; + Name_UBA : constant Name_Id := N + 366; + Name_UBS : constant Name_Id := N + 367; + Name_UBSB : constant Name_Id := N + 368; + Name_Unit_Name : constant Name_Id := N + 369; + Name_Unknown : constant Name_Id := N + 370; + Name_Unrestricted : constant Name_Id := N + 371; + Name_Uppercase : constant Name_Id := N + 372; + Name_User : constant Name_Id := N + 373; + Name_VAX_Float : constant Name_Id := N + 374; + Name_VMS : constant Name_Id := N + 375; + Name_Vtable_Ptr : constant Name_Id := N + 376; + Name_Working_Storage : constant Name_Id := N + 377; -- 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 @@ -664,171 +671,175 @@ 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 + 371; - Name_Abort_Signal : constant Name_Id := N + 371; -- GNAT - Name_Access : constant Name_Id := N + 372; - Name_Address : constant Name_Id := N + 373; - Name_Address_Size : constant Name_Id := N + 374; -- GNAT - Name_Aft : constant Name_Id := N + 375; - Name_Alignment : constant Name_Id := N + 376; - Name_Asm_Input : constant Name_Id := N + 377; -- GNAT - Name_Asm_Output : constant Name_Id := N + 378; -- GNAT - Name_AST_Entry : constant Name_Id := N + 379; -- VMS - Name_Bit : constant Name_Id := N + 380; -- GNAT - Name_Bit_Order : constant Name_Id := N + 381; - Name_Bit_Position : constant Name_Id := N + 382; -- GNAT - Name_Body_Version : constant Name_Id := N + 383; - Name_Callable : constant Name_Id := N + 384; - Name_Caller : constant Name_Id := N + 385; - Name_Code_Address : constant Name_Id := N + 386; -- GNAT - Name_Component_Size : constant Name_Id := N + 387; - Name_Compose : constant Name_Id := N + 388; - Name_Constrained : constant Name_Id := N + 389; - Name_Count : constant Name_Id := N + 390; - Name_Default_Bit_Order : constant Name_Id := N + 391; -- GNAT - Name_Definite : constant Name_Id := N + 392; - Name_Delta : constant Name_Id := N + 393; - Name_Denorm : constant Name_Id := N + 394; - Name_Digits : constant Name_Id := N + 395; - Name_Elaborated : constant Name_Id := N + 396; -- GNAT - Name_Emax : constant Name_Id := N + 397; -- Ada 83 - Name_Enabled : constant Name_Id := N + 398; -- GNAT - Name_Enum_Rep : constant Name_Id := N + 399; -- GNAT - Name_Epsilon : constant Name_Id := N + 400; -- Ada 83 - Name_Exponent : constant Name_Id := N + 401; - Name_External_Tag : constant Name_Id := N + 402; - Name_Fast_Math : constant Name_Id := N + 403; -- GNAT - Name_First : constant Name_Id := N + 404; - Name_First_Bit : constant Name_Id := N + 405; - Name_Fixed_Value : constant Name_Id := N + 406; -- GNAT - Name_Fore : constant Name_Id := N + 407; - Name_Has_Access_Values : constant Name_Id := N + 408; -- GNAT - Name_Has_Discriminants : constant Name_Id := N + 409; -- GNAT - Name_Identity : constant Name_Id := N + 410; - Name_Img : constant Name_Id := N + 411; -- GNAT - Name_Integer_Value : constant Name_Id := N + 412; -- GNAT - Name_Large : constant Name_Id := N + 413; -- Ada 83 - Name_Last : constant Name_Id := N + 414; - Name_Last_Bit : constant Name_Id := N + 415; - Name_Leading_Part : constant Name_Id := N + 416; - Name_Length : constant Name_Id := N + 417; - Name_Machine_Emax : constant Name_Id := N + 418; - Name_Machine_Emin : constant Name_Id := N + 419; - Name_Machine_Mantissa : constant Name_Id := N + 420; - Name_Machine_Overflows : constant Name_Id := N + 421; - Name_Machine_Radix : constant Name_Id := N + 422; - Name_Machine_Rounding : constant Name_Id := N + 423; -- Ada 05 - Name_Machine_Rounds : constant Name_Id := N + 424; - Name_Machine_Size : constant Name_Id := N + 425; -- GNAT - Name_Mantissa : constant Name_Id := N + 426; -- Ada 83 - Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 427; - Name_Maximum_Alignment : constant Name_Id := N + 428; -- GNAT - Name_Mechanism_Code : constant Name_Id := N + 429; -- GNAT - Name_Mod : constant Name_Id := N + 430; -- Ada 05 - Name_Model_Emin : constant Name_Id := N + 431; - Name_Model_Epsilon : constant Name_Id := N + 432; - Name_Model_Mantissa : constant Name_Id := N + 433; - Name_Model_Small : constant Name_Id := N + 434; - Name_Modulus : constant Name_Id := N + 435; - Name_Null_Parameter : constant Name_Id := N + 436; -- GNAT - Name_Object_Size : constant Name_Id := N + 437; -- GNAT - Name_Old : constant Name_Id := N + 438; -- GNAT - Name_Partition_ID : constant Name_Id := N + 439; - Name_Passed_By_Reference : constant Name_Id := N + 440; -- GNAT - Name_Pool_Address : constant Name_Id := N + 441; - Name_Pos : constant Name_Id := N + 442; - Name_Position : constant Name_Id := N + 443; - Name_Priority : constant Name_Id := N + 444; -- Ada 05 - Name_Range : constant Name_Id := N + 445; - Name_Range_Length : constant Name_Id := N + 446; -- GNAT - Name_Round : constant Name_Id := N + 447; - Name_Safe_Emax : constant Name_Id := N + 448; -- Ada 83 - Name_Safe_First : constant Name_Id := N + 449; - Name_Safe_Large : constant Name_Id := N + 450; -- Ada 83 - Name_Safe_Last : constant Name_Id := N + 451; - Name_Safe_Small : constant Name_Id := N + 452; -- Ada 83 - Name_Scale : constant Name_Id := N + 453; - Name_Scaling : constant Name_Id := N + 454; - Name_Signed_Zeros : constant Name_Id := N + 455; - Name_Size : constant Name_Id := N + 456; - Name_Small : constant Name_Id := N + 457; - Name_Storage_Size : constant Name_Id := N + 458; - Name_Storage_Unit : constant Name_Id := N + 459; -- GNAT - Name_Stream_Size : constant Name_Id := N + 460; -- Ada 05 - Name_Tag : constant Name_Id := N + 461; - Name_Target_Name : constant Name_Id := N + 462; -- GNAT - Name_Terminated : constant Name_Id := N + 463; - Name_To_Address : constant Name_Id := N + 464; -- GNAT - Name_Type_Class : constant Name_Id := N + 465; -- GNAT - Name_UET_Address : constant Name_Id := N + 466; -- GNAT - Name_Unbiased_Rounding : constant Name_Id := N + 467; - Name_Unchecked_Access : constant Name_Id := N + 468; - Name_Unconstrained_Array : constant Name_Id := N + 469; - Name_Universal_Literal_String : constant Name_Id := N + 470; -- GNAT - Name_Unrestricted_Access : constant Name_Id := N + 471; -- GNAT - Name_VADS_Size : constant Name_Id := N + 472; -- GNAT - Name_Val : constant Name_Id := N + 473; - Name_Valid : constant Name_Id := N + 474; - Name_Value_Size : constant Name_Id := N + 475; -- GNAT - Name_Version : constant Name_Id := N + 476; - Name_Wchar_T_Size : constant Name_Id := N + 477; -- GNAT - Name_Wide_Wide_Width : constant Name_Id := N + 478; -- Ada 05 - Name_Wide_Width : constant Name_Id := N + 479; - Name_Width : constant Name_Id := N + 480; - Name_Word_Size : constant Name_Id := N + 481; -- GNAT + First_Attribute_Name : constant Name_Id := N + 378; + Name_Abort_Signal : constant Name_Id := N + 378; -- GNAT + Name_Access : constant Name_Id := N + 379; + Name_Address : constant Name_Id := N + 380; + Name_Address_Size : constant Name_Id := N + 381; -- GNAT + Name_Aft : constant Name_Id := N + 382; + Name_Alignment : constant Name_Id := N + 383; + Name_Asm_Input : constant Name_Id := N + 384; -- GNAT + Name_Asm_Output : constant Name_Id := N + 385; -- GNAT + Name_AST_Entry : constant Name_Id := N + 386; -- VMS + Name_Bit : constant Name_Id := N + 387; -- GNAT + Name_Bit_Order : constant Name_Id := N + 388; + Name_Bit_Position : constant Name_Id := N + 389; -- GNAT + Name_Body_Version : constant Name_Id := N + 390; + Name_Callable : constant Name_Id := N + 391; + Name_Caller : constant Name_Id := N + 392; + Name_Code_Address : constant Name_Id := N + 393; -- GNAT + Name_Component_Size : constant Name_Id := N + 394; + Name_Compose : constant Name_Id := N + 395; + Name_Constrained : constant Name_Id := N + 396; + Name_Count : constant Name_Id := N + 397; + Name_Default_Bit_Order : constant Name_Id := N + 398; -- GNAT + Name_Definite : constant Name_Id := N + 399; + Name_Delta : constant Name_Id := N + 400; + Name_Denorm : constant Name_Id := N + 401; + Name_Digits : constant Name_Id := N + 402; + Name_Elaborated : constant Name_Id := N + 403; -- GNAT + Name_Emax : constant Name_Id := N + 404; -- Ada 83 + Name_Enabled : constant Name_Id := N + 405; -- GNAT + Name_Enum_Rep : constant Name_Id := N + 406; -- GNAT + Name_Enum_Val : constant Name_Id := N + 407; -- GNAT + Name_Epsilon : constant Name_Id := N + 408; -- Ada 83 + Name_Exponent : constant Name_Id := N + 409; + Name_External_Tag : constant Name_Id := N + 410; + Name_Fast_Math : constant Name_Id := N + 411; -- GNAT + Name_First : constant Name_Id := N + 412; + Name_First_Bit : constant Name_Id := N + 413; + Name_Fixed_Value : constant Name_Id := N + 414; -- GNAT + Name_Fore : constant Name_Id := N + 415; + Name_Has_Access_Values : constant Name_Id := N + 416; -- GNAT + Name_Has_Discriminants : constant Name_Id := N + 417; -- GNAT + Name_Has_Tagged_Values : constant Name_Id := N + 418; -- GNAT + Name_Identity : constant Name_Id := N + 419; + Name_Img : constant Name_Id := N + 420; -- GNAT + Name_Integer_Value : constant Name_Id := N + 421; -- GNAT + Name_Invalid_Value : constant Name_Id := N + 422; -- GNAT + Name_Large : constant Name_Id := N + 423; -- Ada 83 + Name_Last : constant Name_Id := N + 424; + Name_Last_Bit : constant Name_Id := N + 425; + Name_Leading_Part : constant Name_Id := N + 426; + Name_Length : constant Name_Id := N + 427; + Name_Machine_Emax : constant Name_Id := N + 428; + Name_Machine_Emin : constant Name_Id := N + 429; + Name_Machine_Mantissa : constant Name_Id := N + 430; + Name_Machine_Overflows : constant Name_Id := N + 431; + Name_Machine_Radix : constant Name_Id := N + 432; + Name_Machine_Rounding : constant Name_Id := N + 433; -- Ada 05 + Name_Machine_Rounds : constant Name_Id := N + 434; + Name_Machine_Size : constant Name_Id := N + 435; -- GNAT + Name_Mantissa : constant Name_Id := N + 436; -- Ada 83 + Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 437; + Name_Maximum_Alignment : constant Name_Id := N + 438; -- GNAT + Name_Mechanism_Code : constant Name_Id := N + 439; -- GNAT + Name_Mod : constant Name_Id := N + 440; -- Ada 05 + Name_Model_Emin : constant Name_Id := N + 441; + Name_Model_Epsilon : constant Name_Id := N + 442; + Name_Model_Mantissa : constant Name_Id := N + 443; + Name_Model_Small : constant Name_Id := N + 444; + Name_Modulus : constant Name_Id := N + 445; + Name_Null_Parameter : constant Name_Id := N + 446; -- GNAT + Name_Object_Size : constant Name_Id := N + 447; -- GNAT + Name_Old : constant Name_Id := N + 448; -- GNAT + Name_Partition_ID : constant Name_Id := N + 449; + Name_Passed_By_Reference : constant Name_Id := N + 450; -- GNAT + Name_Pool_Address : constant Name_Id := N + 451; + Name_Pos : constant Name_Id := N + 452; + Name_Position : constant Name_Id := N + 453; + Name_Priority : constant Name_Id := N + 454; -- Ada 05 + Name_Range : constant Name_Id := N + 455; + Name_Range_Length : constant Name_Id := N + 456; -- GNAT + Name_Result : constant Name_Id := N + 457; -- GNAT + Name_Round : constant Name_Id := N + 458; + Name_Safe_Emax : constant Name_Id := N + 459; -- Ada 83 + Name_Safe_First : constant Name_Id := N + 460; + Name_Safe_Large : constant Name_Id := N + 461; -- Ada 83 + Name_Safe_Last : constant Name_Id := N + 462; + Name_Safe_Small : constant Name_Id := N + 463; -- Ada 83 + Name_Scale : constant Name_Id := N + 464; + Name_Scaling : constant Name_Id := N + 465; + Name_Signed_Zeros : constant Name_Id := N + 466; + Name_Size : constant Name_Id := N + 467; + Name_Small : constant Name_Id := N + 468; + Name_Storage_Size : constant Name_Id := N + 469; + Name_Storage_Unit : constant Name_Id := N + 470; -- GNAT + Name_Stream_Size : constant Name_Id := N + 471; -- Ada 05 + Name_Tag : constant Name_Id := N + 472; + Name_Target_Name : constant Name_Id := N + 473; -- GNAT + Name_Terminated : constant Name_Id := N + 474; + Name_To_Address : constant Name_Id := N + 475; -- GNAT + Name_Type_Class : constant Name_Id := N + 476; -- GNAT + Name_UET_Address : constant Name_Id := N + 477; -- GNAT + Name_Unbiased_Rounding : constant Name_Id := N + 478; + Name_Unchecked_Access : constant Name_Id := N + 479; + Name_Unconstrained_Array : constant Name_Id := N + 480; + Name_Universal_Literal_String : constant Name_Id := N + 481; -- GNAT + Name_Unrestricted_Access : constant Name_Id := N + 482; -- GNAT + Name_VADS_Size : constant Name_Id := N + 483; -- GNAT + Name_Val : constant Name_Id := N + 484; + Name_Valid : constant Name_Id := N + 485; + Name_Value_Size : constant Name_Id := N + 486; -- GNAT + Name_Version : constant Name_Id := N + 487; + Name_Wchar_T_Size : constant Name_Id := N + 488; -- GNAT + Name_Wide_Wide_Width : constant Name_Id := N + 489; -- Ada 05 + Name_Wide_Width : constant Name_Id := N + 490; + Name_Width : constant Name_Id := N + 491; + Name_Word_Size : constant Name_Id := N + 492; -- GNAT -- Attributes that designate attributes returning renamable functions, -- i.e. functions that return other than a universal value and that -- have non-universal arguments. - First_Renamable_Function_Attribute : constant Name_Id := N + 482; - Name_Adjacent : constant Name_Id := N + 482; - Name_Ceiling : constant Name_Id := N + 483; - Name_Copy_Sign : constant Name_Id := N + 484; - Name_Floor : constant Name_Id := N + 485; - Name_Fraction : constant Name_Id := N + 486; - Name_Image : constant Name_Id := N + 487; - Name_Input : constant Name_Id := N + 488; - Name_Machine : constant Name_Id := N + 489; - Name_Max : constant Name_Id := N + 490; - Name_Min : constant Name_Id := N + 491; - Name_Model : constant Name_Id := N + 492; - Name_Pred : constant Name_Id := N + 493; - Name_Remainder : constant Name_Id := N + 494; - Name_Rounding : constant Name_Id := N + 495; - Name_Succ : constant Name_Id := N + 496; - Name_Truncation : constant Name_Id := N + 497; - Name_Value : constant Name_Id := N + 498; - Name_Wide_Image : constant Name_Id := N + 499; - Name_Wide_Wide_Image : constant Name_Id := N + 500; - Name_Wide_Value : constant Name_Id := N + 501; - Name_Wide_Wide_Value : constant Name_Id := N + 502; - Last_Renamable_Function_Attribute : constant Name_Id := N + 502; + First_Renamable_Function_Attribute : constant Name_Id := N + 493; + Name_Adjacent : constant Name_Id := N + 493; + Name_Ceiling : constant Name_Id := N + 494; + Name_Copy_Sign : constant Name_Id := N + 495; + Name_Floor : constant Name_Id := N + 496; + Name_Fraction : constant Name_Id := N + 497; + Name_Image : constant Name_Id := N + 498; + Name_Input : constant Name_Id := N + 499; + Name_Machine : constant Name_Id := N + 500; + Name_Max : constant Name_Id := N + 501; + Name_Min : constant Name_Id := N + 502; + Name_Model : constant Name_Id := N + 503; + Name_Pred : constant Name_Id := N + 504; + Name_Remainder : constant Name_Id := N + 505; + Name_Rounding : constant Name_Id := N + 506; + Name_Succ : constant Name_Id := N + 507; + Name_Truncation : constant Name_Id := N + 508; + Name_Value : constant Name_Id := N + 509; + Name_Wide_Image : constant Name_Id := N + 510; + Name_Wide_Wide_Image : constant Name_Id := N + 511; + Name_Wide_Value : constant Name_Id := N + 512; + Name_Wide_Wide_Value : constant Name_Id := N + 513; + Last_Renamable_Function_Attribute : constant Name_Id := N + 513; -- Attributes that designate procedures - First_Procedure_Attribute : constant Name_Id := N + 503; - Name_Output : constant Name_Id := N + 503; - Name_Read : constant Name_Id := N + 504; - Name_Write : constant Name_Id := N + 505; - Last_Procedure_Attribute : constant Name_Id := N + 505; + First_Procedure_Attribute : constant Name_Id := N + 514; + Name_Output : constant Name_Id := N + 514; + Name_Read : constant Name_Id := N + 515; + Name_Write : constant Name_Id := N + 516; + Last_Procedure_Attribute : constant Name_Id := N + 516; -- Remaining attributes are ones that return entities - First_Entity_Attribute_Name : constant Name_Id := N + 506; - Name_Elab_Body : constant Name_Id := N + 506; -- GNAT - Name_Elab_Spec : constant Name_Id := N + 507; -- GNAT - Name_Storage_Pool : constant Name_Id := N + 508; + First_Entity_Attribute_Name : constant Name_Id := N + 517; + Name_Elab_Body : constant Name_Id := N + 517; -- GNAT + Name_Elab_Spec : constant Name_Id := N + 518; -- GNAT + Name_Storage_Pool : constant Name_Id := N + 519; -- These attributes are the ones that return types - First_Type_Attribute_Name : constant Name_Id := N + 509; - Name_Base : constant Name_Id := N + 509; - Name_Class : constant Name_Id := N + 510; - Name_Stub_Type : constant Name_Id := N + 511; - Last_Type_Attribute_Name : constant Name_Id := N + 511; - Last_Entity_Attribute_Name : constant Name_Id := N + 511; - Last_Attribute_Name : constant Name_Id := N + 511; + First_Type_Attribute_Name : constant Name_Id := N + 520; + Name_Base : constant Name_Id := N + 520; + Name_Class : constant Name_Id := N + 521; + Name_Stub_Type : constant Name_Id := N + 522; + Last_Type_Attribute_Name : constant Name_Id := N + 522; + Last_Entity_Attribute_Name : constant Name_Id := N + 522; + Last_Attribute_Name : constant Name_Id := N + 522; -- Names of recognized locking policy identifiers @@ -836,10 +847,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 + 512; - Name_Ceiling_Locking : constant Name_Id := N + 512; - Name_Inheritance_Locking : constant Name_Id := N + 513; - Last_Locking_Policy_Name : constant Name_Id := N + 513; + First_Locking_Policy_Name : constant Name_Id := N + 523; + Name_Ceiling_Locking : constant Name_Id := N + 523; + Name_Inheritance_Locking : constant Name_Id := N + 524; + Last_Locking_Policy_Name : constant Name_Id := N + 524; -- Names of recognized queuing policy identifiers @@ -847,10 +858,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 + 514; - Name_FIFO_Queuing : constant Name_Id := N + 514; - Name_Priority_Queuing : constant Name_Id := N + 515; - Last_Queuing_Policy_Name : constant Name_Id := N + 515; + First_Queuing_Policy_Name : constant Name_Id := N + 525; + Name_FIFO_Queuing : constant Name_Id := N + 525; + Name_Priority_Queuing : constant Name_Id := N + 526; + Last_Queuing_Policy_Name : constant Name_Id := N + 526; -- Names of recognized task dispatching policy identifiers @@ -858,275 +869,279 @@ package Snames is -- name (e.g. F for FIFO_Within_Priorities). If new policy names -- are added, the first character must be distinct. - First_Task_Dispatching_Policy_Name : constant Name_Id := N + 516; - Name_EDF_Across_Priorities : constant Name_Id := N + 516; - Name_FIFO_Within_Priorities : constant Name_Id := N + 517; - Name_Non_Preemptive_Within_Priorities - : constant Name_Id := N + 513; - Name_Round_Robin_Within_Priorities : constant Name_Id := N + 518; - Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 518; + First_Task_Dispatching_Policy_Name : constant Name_Id := N + 527; + Name_EDF_Across_Priorities : constant Name_Id := N + 527; + Name_FIFO_Within_Priorities : constant Name_Id := N + 528; + Name_Non_Preemptive_Within_Priorities : constant Name_Id := N + 529; + Name_Round_Robin_Within_Priorities : constant Name_Id := N + 530; + Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 530; -- Names of recognized checks for pragma Suppress - First_Check_Name : constant Name_Id := N + 519; - Name_Access_Check : constant Name_Id := N + 519; - Name_Accessibility_Check : constant Name_Id := N + 520; - Name_Alignment_Check : constant Name_Id := N + 521; -- GNAT - Name_Discriminant_Check : constant Name_Id := N + 522; - Name_Division_Check : constant Name_Id := N + 523; - Name_Elaboration_Check : constant Name_Id := N + 524; - Name_Index_Check : constant Name_Id := N + 525; - Name_Length_Check : constant Name_Id := N + 526; - Name_Overflow_Check : constant Name_Id := N + 527; - Name_Range_Check : constant Name_Id := N + 528; - Name_Storage_Check : constant Name_Id := N + 529; - Name_Tag_Check : constant Name_Id := N + 530; - Name_Validity_Check : constant Name_Id := N + 531; -- GNAT - Name_All_Checks : constant Name_Id := N + 532; - Last_Check_Name : constant Name_Id := N + 532; + First_Check_Name : constant Name_Id := N + 531; + Name_Access_Check : constant Name_Id := N + 531; + Name_Accessibility_Check : constant Name_Id := N + 532; + Name_Alignment_Check : constant Name_Id := N + 533; -- GNAT + Name_Discriminant_Check : constant Name_Id := N + 534; + Name_Division_Check : constant Name_Id := N + 535; + Name_Elaboration_Check : constant Name_Id := N + 536; + Name_Index_Check : constant Name_Id := N + 537; + Name_Length_Check : constant Name_Id := N + 538; + Name_Overflow_Check : constant Name_Id := N + 539; + Name_Range_Check : constant Name_Id := N + 540; + Name_Storage_Check : constant Name_Id := N + 541; + Name_Tag_Check : constant Name_Id := N + 542; + Name_Validity_Check : constant Name_Id := N + 543; -- GNAT + Name_All_Checks : constant Name_Id := N + 544; + Last_Check_Name : constant Name_Id := N + 544; -- Names corresponding to reserved keywords, excluding those already -- declared in the attribute list (Access, Delta, Digits, Mod, Range). - Name_Abort : constant Name_Id := N + 533; - Name_Abs : constant Name_Id := N + 534; - Name_Accept : constant Name_Id := N + 535; - Name_And : constant Name_Id := N + 536; - Name_All : constant Name_Id := N + 537; - Name_Array : constant Name_Id := N + 538; - Name_At : constant Name_Id := N + 539; - Name_Begin : constant Name_Id := N + 540; - Name_Body : constant Name_Id := N + 541; - Name_Case : constant Name_Id := N + 542; - Name_Constant : constant Name_Id := N + 543; - Name_Declare : constant Name_Id := N + 544; - Name_Delay : constant Name_Id := N + 545; - Name_Do : constant Name_Id := N + 546; - Name_Else : constant Name_Id := N + 547; - Name_Elsif : constant Name_Id := N + 548; - Name_End : constant Name_Id := N + 549; - Name_Entry : constant Name_Id := N + 550; - Name_Exception : constant Name_Id := N + 551; - Name_Exit : constant Name_Id := N + 552; - Name_For : constant Name_Id := N + 553; - Name_Function : constant Name_Id := N + 554; - Name_Generic : constant Name_Id := N + 555; - Name_Goto : constant Name_Id := N + 556; - Name_If : constant Name_Id := N + 557; - Name_In : constant Name_Id := N + 558; - Name_Is : constant Name_Id := N + 559; - Name_Limited : constant Name_Id := N + 560; - Name_Loop : constant Name_Id := N + 561; - Name_New : constant Name_Id := N + 562; - Name_Not : constant Name_Id := N + 563; - Name_Null : constant Name_Id := N + 564; - Name_Of : constant Name_Id := N + 565; - Name_Or : constant Name_Id := N + 566; - Name_Others : constant Name_Id := N + 567; - Name_Out : constant Name_Id := N + 568; - Name_Package : constant Name_Id := N + 569; - Name_Pragma : constant Name_Id := N + 570; - Name_Private : constant Name_Id := N + 571; - Name_Procedure : constant Name_Id := N + 572; - Name_Raise : constant Name_Id := N + 573; - Name_Record : constant Name_Id := N + 574; - Name_Rem : constant Name_Id := N + 575; - Name_Renames : constant Name_Id := N + 576; - Name_Return : constant Name_Id := N + 577; - Name_Reverse : constant Name_Id := N + 578; - Name_Select : constant Name_Id := N + 579; - Name_Separate : constant Name_Id := N + 580; - Name_Subtype : constant Name_Id := N + 581; - Name_Task : constant Name_Id := N + 582; - Name_Terminate : constant Name_Id := N + 583; - Name_Then : constant Name_Id := N + 584; - Name_Type : constant Name_Id := N + 585; - Name_Use : constant Name_Id := N + 586; - Name_When : constant Name_Id := N + 587; - Name_While : constant Name_Id := N + 588; - Name_With : constant Name_Id := N + 589; - Name_Xor : constant Name_Id := N + 590; + Name_Abort : constant Name_Id := N + 545; + Name_Abs : constant Name_Id := N + 546; + Name_Accept : constant Name_Id := N + 547; + Name_And : constant Name_Id := N + 548; + Name_All : constant Name_Id := N + 549; + Name_Array : constant Name_Id := N + 550; + Name_At : constant Name_Id := N + 551; + Name_Begin : constant Name_Id := N + 552; + Name_Body : constant Name_Id := N + 553; + Name_Case : constant Name_Id := N + 554; + Name_Constant : constant Name_Id := N + 555; + Name_Declare : constant Name_Id := N + 556; + Name_Delay : constant Name_Id := N + 557; + Name_Do : constant Name_Id := N + 558; + Name_Else : constant Name_Id := N + 559; + Name_Elsif : constant Name_Id := N + 560; + Name_End : constant Name_Id := N + 561; + Name_Entry : constant Name_Id := N + 562; + Name_Exception : constant Name_Id := N + 563; + Name_Exit : constant Name_Id := N + 564; + Name_For : constant Name_Id := N + 565; + Name_Function : constant Name_Id := N + 566; + Name_Generic : constant Name_Id := N + 567; + Name_Goto : constant Name_Id := N + 568; + Name_If : constant Name_Id := N + 569; + Name_In : constant Name_Id := N + 570; + Name_Is : constant Name_Id := N + 571; + Name_Limited : constant Name_Id := N + 572; + Name_Loop : constant Name_Id := N + 573; + Name_New : constant Name_Id := N + 574; + Name_Not : constant Name_Id := N + 575; + Name_Null : constant Name_Id := N + 576; + Name_Of : constant Name_Id := N + 577; + Name_Or : constant Name_Id := N + 578; + Name_Others : constant Name_Id := N + 579; + Name_Out : constant Name_Id := N + 580; + Name_Package : constant Name_Id := N + 581; + Name_Pragma : constant Name_Id := N + 582; + Name_Private : constant Name_Id := N + 583; + Name_Procedure : constant Name_Id := N + 584; + Name_Raise : constant Name_Id := N + 585; + Name_Record : constant Name_Id := N + 586; + Name_Rem : constant Name_Id := N + 587; + Name_Renames : constant Name_Id := N + 588; + Name_Return : constant Name_Id := N + 589; + Name_Reverse : constant Name_Id := N + 590; + Name_Select : constant Name_Id := N + 591; + Name_Separate : constant Name_Id := N + 592; + Name_Subtype : constant Name_Id := N + 593; + Name_Task : constant Name_Id := N + 594; + Name_Terminate : constant Name_Id := N + 595; + Name_Then : constant Name_Id := N + 596; + Name_Type : constant Name_Id := N + 597; + Name_Use : constant Name_Id := N + 598; + Name_When : constant Name_Id := N + 599; + Name_While : constant Name_Id := N + 600; + Name_With : constant Name_Id := N + 601; + Name_Xor : constant Name_Id := N + 602; -- 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 + 591; - Name_Divide : constant Name_Id := N + 591; - Name_Enclosing_Entity : constant Name_Id := N + 592; - Name_Exception_Information : constant Name_Id := N + 593; - Name_Exception_Message : constant Name_Id := N + 594; - Name_Exception_Name : constant Name_Id := N + 595; - Name_File : constant Name_Id := N + 596; - Name_Generic_Dispatching_Constructor : constant Name_Id := N + 597; - Name_Import_Address : constant Name_Id := N + 598; - Name_Import_Largest_Value : constant Name_Id := N + 599; - Name_Import_Value : constant Name_Id := N + 600; - Name_Is_Negative : constant Name_Id := N + 601; - Name_Line : constant Name_Id := N + 602; - Name_Rotate_Left : constant Name_Id := N + 603; - Name_Rotate_Right : constant Name_Id := N + 604; - Name_Shift_Left : constant Name_Id := N + 605; - Name_Shift_Right : constant Name_Id := N + 606; - Name_Shift_Right_Arithmetic : constant Name_Id := N + 607; - Name_Source_Location : constant Name_Id := N + 608; - Name_Unchecked_Conversion : constant Name_Id := N + 609; - Name_Unchecked_Deallocation : constant Name_Id := N + 610; - Name_To_Pointer : constant Name_Id := N + 611; - Last_Intrinsic_Name : constant Name_Id := N + 611; + First_Intrinsic_Name : constant Name_Id := N + 603; + Name_Divide : constant Name_Id := N + 603; + Name_Enclosing_Entity : constant Name_Id := N + 604; + Name_Exception_Information : constant Name_Id := N + 605; + Name_Exception_Message : constant Name_Id := N + 606; + Name_Exception_Name : constant Name_Id := N + 607; + Name_File : constant Name_Id := N + 608; + Name_Generic_Dispatching_Constructor : constant Name_Id := N + 609; + Name_Import_Address : constant Name_Id := N + 610; + Name_Import_Largest_Value : constant Name_Id := N + 611; + Name_Import_Value : constant Name_Id := N + 612; + Name_Is_Negative : constant Name_Id := N + 613; + Name_Line : constant Name_Id := N + 614; + Name_Rotate_Left : constant Name_Id := N + 615; + Name_Rotate_Right : constant Name_Id := N + 616; + Name_Shift_Left : constant Name_Id := N + 617; + Name_Shift_Right : constant Name_Id := N + 618; + Name_Shift_Right_Arithmetic : constant Name_Id := N + 619; + Name_Source_Location : constant Name_Id := N + 620; + Name_Unchecked_Conversion : constant Name_Id := N + 621; + Name_Unchecked_Deallocation : constant Name_Id := N + 622; + Name_To_Pointer : constant Name_Id := N + 623; + Last_Intrinsic_Name : constant Name_Id := N + 623; -- Names used in processing intrinsic calls - Name_Free : constant Name_Id := N + 612; + Name_Free : constant Name_Id := N + 624; -- Reserved words used only in Ada 95 - First_95_Reserved_Word : constant Name_Id := N + 613; - Name_Abstract : constant Name_Id := N + 613; - Name_Aliased : constant Name_Id := N + 614; - Name_Protected : constant Name_Id := N + 615; - Name_Until : constant Name_Id := N + 616; - Name_Requeue : constant Name_Id := N + 617; - Name_Tagged : constant Name_Id := N + 618; - Last_95_Reserved_Word : constant Name_Id := N + 618; + First_95_Reserved_Word : constant Name_Id := N + 625; + Name_Abstract : constant Name_Id := N + 625; + Name_Aliased : constant Name_Id := N + 626; + Name_Protected : constant Name_Id := N + 627; + Name_Until : constant Name_Id := N + 628; + Name_Requeue : constant Name_Id := N + 629; + Name_Tagged : constant Name_Id := N + 630; + Last_95_Reserved_Word : constant Name_Id := N + 630; 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 + 619; + Name_Raise_Exception : constant Name_Id := N + 631; -- Additional reserved words and identifiers used in GNAT Project Files -- Note that Name_External is already previously declared - Name_Ada_Roots : constant Name_Id := N + 620; - Name_Archive_Builder : constant Name_Id := N + 621; - Name_Archive_Indexer : constant Name_Id := N + 622; - Name_Archive_Suffix : constant Name_Id := N + 623; - Name_Binder : constant Name_Id := N + 624; - Name_Binder_Prefix : constant Name_Id := N + 625; - Name_Body_Suffix : constant Name_Id := N + 626; - Name_Builder : constant Name_Id := N + 627; - Name_Builder_Switches : constant Name_Id := N + 628; - Name_Compiler : constant Name_Id := N + 629; - Name_Compiler_Kind : constant Name_Id := N + 630; - Name_Config_Body_File_Name : constant Name_Id := N + 631; - Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 632; - Name_Config_File_Switches : constant Name_Id := N + 633; - Name_Config_File_Unique : constant Name_Id := N + 634; - Name_Config_Spec_File_Name : constant Name_Id := N + 635; - Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 636; - Name_Cross_Reference : constant Name_Id := N + 637; - Name_Default_Language : constant Name_Id := N + 638; - Name_Default_Switches : constant Name_Id := N + 639; - Name_Dependency_Driver : constant Name_Id := N + 640; - Name_Dependency_File_Kind : constant Name_Id := N + 641; - Name_Dependency_Switches : constant Name_Id := N + 642; - Name_Driver : constant Name_Id := N + 643; - Name_Excluded_Source_Dirs : constant Name_Id := N + 644; - Name_Excluded_Source_Files : constant Name_Id := N + 645; - Name_Exec_Dir : constant Name_Id := N + 646; - Name_Executable : constant Name_Id := N + 647; - Name_Executable_Suffix : constant Name_Id := N + 648; - Name_Extends : constant Name_Id := N + 649; - Name_Externally_Built : constant Name_Id := N + 650; - Name_Finder : constant Name_Id := N + 651; - Name_Global_Configuration_Pragmas : constant Name_Id := N + 652; - Name_Global_Config_File : constant Name_Id := N + 653; - Name_Gnatls : constant Name_Id := N + 654; - Name_Gnatstub : constant Name_Id := N + 655; - Name_Implementation : constant Name_Id := N + 656; - Name_Implementation_Exceptions : constant Name_Id := N + 657; - Name_Implementation_Suffix : constant Name_Id := N + 658; - Name_Include_Switches : constant Name_Id := N + 659; - Name_Include_Path : constant Name_Id := N + 660; - Name_Include_Path_File : constant Name_Id := N + 661; - Name_Language_Kind : constant Name_Id := N + 662; - Name_Language_Processing : constant Name_Id := N + 663; - Name_Languages : constant Name_Id := N + 664; - Name_Library_Ali_Dir : constant Name_Id := N + 665; - Name_Library_Auto_Init : constant Name_Id := N + 666; - Name_Library_Auto_Init_Supported : constant Name_Id := N + 667; - Name_Library_Builder : constant Name_Id := N + 668; - Name_Library_Dir : constant Name_Id := N + 669; - Name_Library_GCC : constant Name_Id := N + 670; - Name_Library_Interface : constant Name_Id := N + 671; - Name_Library_Kind : constant Name_Id := N + 672; - Name_Library_Name : constant Name_Id := N + 673; - Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 674; - Name_Library_Options : constant Name_Id := N + 675; - Name_Library_Partial_Linker : constant Name_Id := N + 676; - Name_Library_Reference_Symbol_File : constant Name_Id := N + 677; - Name_Library_Src_Dir : constant Name_Id := N + 678; - Name_Library_Support : constant Name_Id := N + 679; - Name_Library_Symbol_File : constant Name_Id := N + 680; - Name_Library_Symbol_Policy : constant Name_Id := N + 681; - Name_Library_Version : constant Name_Id := N + 682; - Name_Library_Version_Switches : constant Name_Id := N + 683; - Name_Linker : constant Name_Id := N + 684; - Name_Linker_Executable_Option : constant Name_Id := N + 685; - Name_Linker_Lib_Dir_Option : constant Name_Id := N + 686; - Name_Linker_Lib_Name_Option : constant Name_Id := N + 687; - Name_Local_Config_File : constant Name_Id := N + 688; - Name_Local_Configuration_Pragmas : constant Name_Id := N + 689; - Name_Locally_Removed_Files : constant Name_Id := N + 690; - Name_Mapping_File_Switches : constant Name_Id := N + 691; - Name_Mapping_Spec_Suffix : constant Name_Id := N + 692; - Name_Mapping_Body_Suffix : constant Name_Id := N + 693; - Name_Metrics : constant Name_Id := N + 694; - Name_Naming : constant Name_Id := N + 695; - Name_Objects_Path : constant Name_Id := N + 696; - Name_Objects_Path_File : constant Name_Id := N + 697; - Name_Object_Dir : constant Name_Id := N + 698; - Name_Pic_Option : constant Name_Id := N + 699; - Name_Pretty_Printer : constant Name_Id := N + 700; - Name_Prefix : constant Name_Id := N + 701; - Name_Project : constant Name_Id := N + 702; - Name_Roots : constant Name_Id := N + 703; - Name_Required_Switches : constant Name_Id := N + 704; - Name_Run_Path_Option : constant Name_Id := N + 705; - Name_Runtime_Project : constant Name_Id := N + 706; - Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 707; - Name_Shared_Library_Prefix : constant Name_Id := N + 708; - Name_Shared_Library_Suffix : constant Name_Id := N + 709; - Name_Separate_Suffix : constant Name_Id := N + 710; - Name_Source_Dirs : constant Name_Id := N + 711; - Name_Source_Files : constant Name_Id := N + 712; - Name_Source_List_File : constant Name_Id := N + 713; - Name_Spec : constant Name_Id := N + 714; - Name_Spec_Suffix : constant Name_Id := N + 715; - Name_Specification : constant Name_Id := N + 716; - Name_Specification_Exceptions : constant Name_Id := N + 717; - Name_Specification_Suffix : constant Name_Id := N + 718; - Name_Stack : constant Name_Id := N + 719; - Name_Switches : constant Name_Id := N + 720; - Name_Symbolic_Link_Supported : constant Name_Id := N + 721; - Name_Sync : constant Name_Id := N + 722; - Name_Synchronize : constant Name_Id := N + 723; - Name_Toolchain_Description : constant Name_Id := N + 724; - Name_Toolchain_Version : constant Name_Id := N + 725; - Name_Runtime_Library_Dir : constant Name_Id := N + 726; + Name_Ada_Roots : constant Name_Id := N + 632; + Name_Aggregate : constant Name_Id := N + 633; + Name_Archive_Builder : constant Name_Id := N + 634; + Name_Archive_Builder_Append_Option : constant Name_Id := N + 635; + Name_Archive_Indexer : constant Name_Id := N + 636; + Name_Archive_Suffix : constant Name_Id := N + 637; + Name_Binder : constant Name_Id := N + 638; + Name_Binder_Prefix : constant Name_Id := N + 639; + Name_Body_Suffix : constant Name_Id := N + 640; + Name_Builder : constant Name_Id := N + 641; + Name_Builder_Switches : constant Name_Id := N + 642; + Name_Compiler : constant Name_Id := N + 643; + Name_Compiler_Kind : constant Name_Id := N + 644; + Name_Config_Body_File_Name : constant Name_Id := N + 645; + Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 646; + Name_Config_File_Switches : constant Name_Id := N + 647; + Name_Config_File_Unique : constant Name_Id := N + 648; + Name_Config_Spec_File_Name : constant Name_Id := N + 649; + Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 650; + Name_Configuration : constant Name_Id := N + 651; + Name_Cross_Reference : constant Name_Id := N + 652; + Name_Default_Language : constant Name_Id := N + 653; + Name_Default_Switches : constant Name_Id := N + 654; + Name_Dependency_Driver : constant Name_Id := N + 655; + Name_Dependency_File_Kind : constant Name_Id := N + 656; + Name_Dependency_Switches : constant Name_Id := N + 657; + Name_Driver : constant Name_Id := N + 658; + Name_Excluded_Source_Dirs : constant Name_Id := N + 659; + Name_Excluded_Source_Files : constant Name_Id := N + 660; + Name_Exec_Dir : constant Name_Id := N + 661; + Name_Executable : constant Name_Id := N + 662; + Name_Executable_Suffix : constant Name_Id := N + 663; + Name_Extends : constant Name_Id := N + 664; + Name_Externally_Built : constant Name_Id := N + 665; + Name_Finder : constant Name_Id := N + 666; + Name_Global_Configuration_Pragmas : constant Name_Id := N + 667; + Name_Global_Config_File : constant Name_Id := N + 668; + Name_Gnatls : constant Name_Id := N + 669; + Name_Gnatstub : constant Name_Id := N + 670; + Name_Implementation : constant Name_Id := N + 671; + Name_Implementation_Exceptions : constant Name_Id := N + 672; + Name_Implementation_Suffix : constant Name_Id := N + 673; + Name_Include_Switches : constant Name_Id := N + 674; + Name_Include_Path : constant Name_Id := N + 675; + Name_Include_Path_File : constant Name_Id := N + 676; + Name_Inherit_Source_Path : constant Name_Id := N + 677; + Name_Language_Kind : constant Name_Id := N + 678; + Name_Language_Processing : constant Name_Id := N + 679; + Name_Languages : constant Name_Id := N + 680; + Name_Library : constant Name_Id := N + 681; + Name_Library_Ali_Dir : constant Name_Id := N + 682; + Name_Library_Auto_Init : constant Name_Id := N + 683; + Name_Library_Auto_Init_Supported : constant Name_Id := N + 684; + Name_Library_Builder : constant Name_Id := N + 685; + Name_Library_Dir : constant Name_Id := N + 686; + Name_Library_GCC : constant Name_Id := N + 687; + Name_Library_Interface : constant Name_Id := N + 688; + Name_Library_Kind : constant Name_Id := N + 689; + Name_Library_Name : constant Name_Id := N + 690; + Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 691; + Name_Library_Options : constant Name_Id := N + 692; + Name_Library_Partial_Linker : constant Name_Id := N + 693; + Name_Library_Reference_Symbol_File : constant Name_Id := N + 694; + Name_Library_Src_Dir : constant Name_Id := N + 695; + Name_Library_Support : constant Name_Id := N + 696; + Name_Library_Symbol_File : constant Name_Id := N + 697; + Name_Library_Symbol_Policy : constant Name_Id := N + 698; + Name_Library_Version : constant Name_Id := N + 699; + Name_Library_Version_Switches : constant Name_Id := N + 700; + Name_Linker : constant Name_Id := N + 701; + Name_Linker_Executable_Option : constant Name_Id := N + 702; + Name_Linker_Lib_Dir_Option : constant Name_Id := N + 703; + Name_Linker_Lib_Name_Option : constant Name_Id := N + 704; + Name_Local_Config_File : constant Name_Id := N + 705; + Name_Local_Configuration_Pragmas : constant Name_Id := N + 706; + Name_Locally_Removed_Files : constant Name_Id := N + 707; + Name_Mapping_File_Switches : constant Name_Id := N + 708; + Name_Mapping_Spec_Suffix : constant Name_Id := N + 709; + Name_Mapping_Body_Suffix : constant Name_Id := N + 710; + Name_Metrics : constant Name_Id := N + 711; + Name_Naming : constant Name_Id := N + 712; + Name_Objects_Path : constant Name_Id := N + 713; + Name_Objects_Path_File : constant Name_Id := N + 714; + Name_Object_Dir : constant Name_Id := N + 715; + Name_Pic_Option : constant Name_Id := N + 716; + Name_Pretty_Printer : constant Name_Id := N + 717; + Name_Prefix : constant Name_Id := N + 718; + Name_Project : constant Name_Id := N + 719; + Name_Roots : constant Name_Id := N + 720; + Name_Required_Switches : constant Name_Id := N + 721; + Name_Run_Path_Option : constant Name_Id := N + 722; + Name_Runtime_Project : constant Name_Id := N + 723; + Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 724; + Name_Shared_Library_Prefix : constant Name_Id := N + 725; + Name_Shared_Library_Suffix : constant Name_Id := N + 726; + Name_Separate_Suffix : constant Name_Id := N + 727; + Name_Source_Dirs : constant Name_Id := N + 728; + Name_Source_Files : constant Name_Id := N + 729; + Name_Source_List_File : constant Name_Id := N + 730; + Name_Spec : constant Name_Id := N + 731; + Name_Spec_Suffix : constant Name_Id := N + 732; + Name_Specification : constant Name_Id := N + 733; + Name_Specification_Exceptions : constant Name_Id := N + 734; + Name_Specification_Suffix : constant Name_Id := N + 735; + Name_Stack : constant Name_Id := N + 736; + Name_Switches : constant Name_Id := N + 737; + Name_Symbolic_Link_Supported : constant Name_Id := N + 738; + Name_Sync : constant Name_Id := N + 739; + Name_Synchronize : constant Name_Id := N + 740; + Name_Toolchain_Description : constant Name_Id := N + 741; + Name_Toolchain_Version : constant Name_Id := N + 742; + Name_Runtime_Library_Dir : constant Name_Id := N + 743; -- Other miscellaneous names used in front end - Name_Unaligned_Valid : constant Name_Id := N + 727; + Name_Unaligned_Valid : constant Name_Id := N + 744; -- Ada 2005 reserved words - First_2005_Reserved_Word : constant Name_Id := N + 728; - Name_Interface : constant Name_Id := N + 728; - Name_Overriding : constant Name_Id := N + 729; - Name_Synchronized : constant Name_Id := N + 730; - Last_2005_Reserved_Word : constant Name_Id := N + 730; + First_2005_Reserved_Word : constant Name_Id := N + 745; + Name_Interface : constant Name_Id := N + 745; + Name_Overriding : constant Name_Id := N + 746; + Name_Synchronized : constant Name_Id := N + 747; + Last_2005_Reserved_Word : constant Name_Id := N + 747; subtype Ada_2005_Reserved_Words is Name_Id range First_2005_Reserved_Word .. Last_2005_Reserved_Word; -- Mark last defined name for consistency check in Snames body - Last_Predefined_Name : constant Name_Id := N + 730; + Last_Predefined_Name : constant Name_Id := N + 747; --------------------------------------- -- Subtypes Defining Name Categories -- @@ -1172,6 +1187,7 @@ package Snames is Attribute_Emax, Attribute_Enabled, Attribute_Enum_Rep, + Attribute_Enum_Val, Attribute_Epsilon, Attribute_Exponent, Attribute_External_Tag, @@ -1182,9 +1198,11 @@ package Snames is Attribute_Fore, Attribute_Has_Access_Values, Attribute_Has_Discriminants, + Attribute_Has_Tagged_Values, Attribute_Identity, Attribute_Img, Attribute_Integer_Value, + Attribute_Invalid_Value, Attribute_Large, Attribute_Last, Attribute_Last_Bit, @@ -1219,6 +1237,7 @@ package Snames is Attribute_Priority, Attribute_Range, Attribute_Range_Length, + Attribute_Result, Attribute_Round, Attribute_Safe_Emax, Attribute_Safe_First, @@ -1353,6 +1372,10 @@ package Snames is -- Configuration pragmas + -- Note: This list is in the GNAT users guide, so be sure that if any + -- additions or deletions are made to the following list, they are + -- properly reflected in the users guide. + Pragma_Ada_83, Pragma_Ada_95, Pragma_Ada_05, @@ -1360,6 +1383,7 @@ package Snames is Pragma_Assertion_Policy, Pragma_C_Pass_By_Copy, Pragma_Check_Name, + Pragma_Check_Policy, Pragma_Compile_Time_Error, Pragma_Compile_Time_Warning, Pragma_Compiler_Unit, @@ -1385,8 +1409,8 @@ package Snames is Pragma_No_Strict_Aliasing, Pragma_Normalize_Scalars, Pragma_Optimize_Alignment, - Pragma_Polling, Pragma_Persistent_BSS, + Pragma_Polling, Pragma_Priority_Specific_Dispatching, Pragma_Profile, Pragma_Profile_Warnings, @@ -1420,6 +1444,7 @@ package Snames is Pragma_Atomic, Pragma_Atomic_Components, Pragma_Attach_Handler, + Pragma_Check, Pragma_CIL_Constructor, Pragma_Comment, Pragma_Common_Object, @@ -1480,6 +1505,8 @@ package Snames is Pragma_Pack, Pragma_Page, Pragma_Passive, + Pragma_Postcondition, + Pragma_Precondition, Pragma_Preelaborable_Initialization, Pragma_Preelaborate, Pragma_Preelaborate_05, @@ -1487,6 +1514,7 @@ package Snames is Pragma_Pure, Pragma_Pure_05, Pragma_Pure_Function, + Pragma_Relative_Deadline, Pragma_Remote_Call_Interface, Pragma_Remote_Types, Pragma_Share_Generic, -- cgit v1.1