[multiple changes]

2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb: Minor comment fix

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* g-socket.ads: Fix bad syntax in pragma Obsolescent

	* par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
	argument with no identifier following one that has an identifier. Was
	missed in some cases.

	* sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
	identifier.
	(Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers

	* snames.adb: Add Name_Policy

	* snames.ads: Add Name_Policy

From-SVN: r145744
This commit is contained in:
Arnaud Charlet 2009-04-08 16:49:44 +02:00
parent 4da17013c0
commit ef7c5692f1
8 changed files with 510 additions and 464 deletions

View File

@ -1,3 +1,23 @@
2009-04-08 Thomas Quinot <quinot@adacore.com>
* exp_util.adb: Minor comment fix
2009-04-08 Robert Dewar <dewar@adacore.com>
* g-socket.ads: Fix bad syntax in pragma Obsolescent
* par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
argument with no identifier following one that has an identifier. Was
missed in some cases.
* sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
identifier.
(Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
* snames.adb: Add Name_Policy
* snames.ads: Add Name_Policy
2009-04-08 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor reformatting

View File

@ -4844,7 +4844,7 @@ package body Exp_Util is
-- If the expression has an access type (object or subprogram) we
-- assume that the conversion is safe, because the size of the target
-- is safe, even it is a record (which might be treated as having
-- is safe, even if it is a record (which might be treated as having
-- unknown size at this point).
elsif Is_Access_Type (Ityp) then

View File

@ -387,7 +387,7 @@ package GNAT.Sockets is
procedure Initialize (Process_Blocking_IO : Boolean);
pragma Obsolescent
(Entity => Initialize,
"passing a parameter to Initialize is not supported anymore");
Message => "passing a parameter to Initialize is not supported anymore");
-- Previous versions of GNAT.Sockets used to require the user to indicate
-- whether socket I/O was process- or thread-blocking on the platform.
-- This property is now determined automatically when the run-time library

View File

@ -1171,7 +1171,9 @@ are mentioned in @code{with} clauses).
@noindent
Syntax:
@smallexample @c ada
pragma Check_Policy ([Name =>] Identifier, POLICY_IDENTIFIER);
pragma Check_Policy
([Name =>] Identifier,
[Policy =>] POLICY_IDENTIFIER);
POLICY_IDENTIFIER ::= On | Off | Check | Ignore
@end smallexample
@ -3462,7 +3464,9 @@ Syntax:
@smallexample @c ada
pragma Obsolescent
[(Entity => NAME [, static_string_EXPRESSION [,Ada_05]])];
[([Entity =>] NAME
[,[Message =>] static_string_EXPRESSION
[,[Version =>] Ada_05]])];
@end smallexample
@noindent
@ -3508,17 +3512,20 @@ The following examples show typical uses of this pragma:
@smallexample @c ada
package p is
pragma Obsolescent
(Entity => p, "use pp instead of p");
(Entity => p, Message => "use pp instead of p");
end p;
package q is
procedure q2;
pragma Obsolescent
(Entity => q2, "use q2new instead");
(Entity => q2,
Message => "use q2new instead");
type R is new integer;
pragma Obsolescent
(Entity => R, "use RR in Ada 2005", Ada_05);
(Entity => R,
Message => "use RR in Ada 2005",
Version => Ada_05);
type M is record
F1 : Integer;

View File

@ -469,11 +469,14 @@ package body Ch2 is
is
Scan_State : Saved_Scan_State;
Identifier_Node : Node_Id;
Id_Present : Boolean;
begin
Association := New_Node (N_Pragma_Argument_Association, Token_Ptr);
Set_Chars (Association, No_Name);
-- Argument starts with identifier
if Token = Tok_Identifier then
Identifier_Node := Token_Node;
Save_Scan_State (Scan_State); -- at Identifier
@ -483,18 +486,25 @@ package body Ch2 is
Identifier_Seen := True;
Scan; -- past arrow
Set_Chars (Association, Chars (Identifier_Node));
Id_Present := True;
-- Case of argument with no identifier
else
Restore_Scan_State (Scan_State); -- to Identifier
Id_Present := False;
end if;
if Identifier_Seen then
-- Argument does not start with identifier
else
Id_Present := False;
end if;
if Identifier_Seen and not Id_Present then
Error_Msg_SC
("|pragma argument identifier required here (RM 2.8(4))");
end if;
end if;
end if;
Set_Expression (Association, P_Expression);
end Scan_Pragma_Argument_Association;

View File

@ -5789,8 +5789,9 @@ package body Sem_Prag is
-- Check_Policy --
------------------
-- pragma Check_Policy ([Name =>] IDENTIFIER,
-- POLICY_IDENTIFIER;
-- pragma Check_Policy (
-- [Name =>] IDENTIFIER,
-- [Policy =>] POLICY_IDENTIFIER);
-- POLICY_IDENTIFIER ::= ON | OFF | CHECK | IGNORE
@ -5800,8 +5801,8 @@ package body Sem_Prag is
when Pragma_Check_Policy =>
GNAT_Pragma;
Check_Arg_Count (2);
Check_No_Identifier (Arg2);
Check_Optional_Identifier (Arg1, Name_Name);
Check_Optional_Identifier (Arg2, Name_Policy);
Check_Arg_Is_One_Of
(Arg2, Name_On, Name_Off, Name_Check, Name_Ignore);
@ -6627,12 +6628,11 @@ package body Sem_Prag is
---------------
-- pragma Eliminate (
-- [Unit_Name =>] IDENTIFIER |
-- SELECTED_COMPONENT
-- [Unit_Name =>] IDENTIFIER | SELECTED_COMPONENT,
-- [,[Entity =>] IDENTIFIER |
-- SELECTED_COMPONENT |
-- STRING_LITERAL]
-- [,]OVERLOADING_RESOLUTION);
-- [, OVERLOADING_RESOLUTION]);
-- OVERLOADING_RESOLUTION ::= PARAMETER_AND_RESULT_TYPE_PROFILE |
-- SOURCE_LOCATION
@ -9060,7 +9060,8 @@ package body Sem_Prag is
-- pragma Obsolescent [(
-- [Entity => NAME,]
-- [(static_string_EXPRESSION [, Ada_05])];
-- [Message => static_string_EXPRESSION
-- [,[Version => Ada_05]] )];
when Pragma_Obsolescent => Obsolescent : declare
Ename : Node_Id;
@ -9210,7 +9211,13 @@ package body Sem_Prag is
Ename := Empty;
end if;
Check_No_Identifiers;
if Arg_Count >= 1 then
Check_Optional_Identifier (Arg1, Name_Message);
if Arg_Count = 2 then
Check_Optional_Identifier (Arg2, Name_Version);
end if;
end if;
-- Get immediately preceding declaration

View File

@ -403,6 +403,7 @@ package body Snames is
"no_task_attributes#" &
"no_task_attributes_package#" &
"on#" &
"policy#" &
"parameter_types#" &
"reference#" &
"restricted#" &

View File

@ -628,39 +628,40 @@ package Snames is
Name_No_Task_Attributes : constant Name_Id := N + 342;
Name_No_Task_Attributes_Package : constant Name_Id := N + 343;
Name_On : constant Name_Id := N + 344;
Name_Parameter_Types : constant Name_Id := N + 345;
Name_Reference : constant Name_Id := N + 346;
Name_Restricted : constant Name_Id := N + 347;
Name_Result_Mechanism : constant Name_Id := N + 348;
Name_Result_Type : constant Name_Id := N + 349;
Name_Runtime : constant Name_Id := N + 350;
Name_SB : constant Name_Id := N + 351;
Name_Secondary_Stack_Size : constant Name_Id := N + 352;
Name_Section : constant Name_Id := N + 353;
Name_Semaphore : constant Name_Id := N + 354;
Name_Short_Descriptor : 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;
Name_Policy : 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_Short_Descriptor : constant Name_Id := N + 356;
Name_Simple_Barriers : constant Name_Id := N + 357;
Name_Spec_File_Name : constant Name_Id := N + 358;
Name_State : constant Name_Id := N + 359;
Name_Static : constant Name_Id := N + 360;
Name_Stack_Size : constant Name_Id := N + 361;
Name_Subunit_File_Name : constant Name_Id := N + 362;
Name_Task_Stack_Size_Default : constant Name_Id := N + 363;
Name_Task_Type : constant Name_Id := N + 364;
Name_Time_Slicing_Enabled : constant Name_Id := N + 365;
Name_Top_Guard : constant Name_Id := N + 366;
Name_UBA : constant Name_Id := N + 367;
Name_UBS : constant Name_Id := N + 368;
Name_UBSB : constant Name_Id := N + 369;
Name_Unit_Name : constant Name_Id := N + 370;
Name_Unknown : constant Name_Id := N + 371;
Name_Unrestricted : constant Name_Id := N + 372;
Name_Uppercase : constant Name_Id := N + 373;
Name_User : constant Name_Id := N + 374;
Name_VAX_Float : constant Name_Id := N + 375;
Name_VMS : constant Name_Id := N + 376;
Name_Vtable_Ptr : constant Name_Id := N + 377;
Name_Working_Storage : constant Name_Id := N + 378;
-- 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
@ -674,178 +675,178 @@ 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 + 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
First_Attribute_Name : constant Name_Id := N + 379;
Name_Abort_Signal : constant Name_Id := N + 379; -- GNAT
Name_Access : constant Name_Id := N + 380;
Name_Address : constant Name_Id := N + 381;
Name_Address_Size : constant Name_Id := N + 382; -- GNAT
Name_Aft : constant Name_Id := N + 383;
Name_Alignment : constant Name_Id := N + 384;
Name_Asm_Input : constant Name_Id := N + 385; -- GNAT
Name_Asm_Output : constant Name_Id := N + 386; -- GNAT
Name_AST_Entry : constant Name_Id := N + 387; -- VMS
Name_Bit : constant Name_Id := N + 388; -- GNAT
Name_Bit_Order : constant Name_Id := N + 389;
Name_Bit_Position : constant Name_Id := N + 390; -- GNAT
Name_Body_Version : constant Name_Id := N + 391;
Name_Callable : constant Name_Id := N + 392;
Name_Caller : constant Name_Id := N + 393;
Name_Code_Address : constant Name_Id := N + 394; -- GNAT
Name_Component_Size : constant Name_Id := N + 395;
Name_Compose : constant Name_Id := N + 396;
Name_Constrained : constant Name_Id := N + 397;
Name_Count : constant Name_Id := N + 398;
Name_Default_Bit_Order : constant Name_Id := N + 399; -- GNAT
Name_Definite : constant Name_Id := N + 400;
Name_Delta : constant Name_Id := N + 401;
Name_Denorm : constant Name_Id := N + 402;
Name_Digits : constant Name_Id := N + 403;
Name_Elaborated : constant Name_Id := N + 404; -- GNAT
Name_Emax : constant Name_Id := N + 405; -- Ada 83
Name_Enabled : constant Name_Id := N + 406; -- GNAT
Name_Enum_Rep : constant Name_Id := N + 407; -- GNAT
Name_Enum_Val : constant Name_Id := N + 408; -- GNAT
Name_Epsilon : constant Name_Id := N + 409; -- Ada 83
Name_Exponent : constant Name_Id := N + 410;
Name_External_Tag : constant Name_Id := N + 411;
Name_Fast_Math : constant Name_Id := N + 412; -- GNAT
Name_First : constant Name_Id := N + 413;
Name_First_Bit : constant Name_Id := N + 414;
Name_Fixed_Value : constant Name_Id := N + 415; -- GNAT
Name_Fore : constant Name_Id := N + 416;
Name_Has_Access_Values : constant Name_Id := N + 417; -- GNAT
Name_Has_Discriminants : constant Name_Id := N + 418; -- GNAT
Name_Has_Tagged_Values : constant Name_Id := N + 419; -- GNAT
Name_Identity : constant Name_Id := N + 420;
Name_Img : constant Name_Id := N + 421; -- GNAT
Name_Integer_Value : constant Name_Id := N + 422; -- GNAT
Name_Invalid_Value : constant Name_Id := N + 423; -- GNAT
Name_Large : constant Name_Id := N + 424; -- Ada 83
Name_Last : constant Name_Id := N + 425;
Name_Last_Bit : constant Name_Id := N + 426;
Name_Leading_Part : constant Name_Id := N + 427;
Name_Length : constant Name_Id := N + 428;
Name_Machine_Emax : constant Name_Id := N + 429;
Name_Machine_Emin : constant Name_Id := N + 430;
Name_Machine_Mantissa : constant Name_Id := N + 431;
Name_Machine_Overflows : constant Name_Id := N + 432;
Name_Machine_Radix : constant Name_Id := N + 433;
Name_Machine_Rounding : constant Name_Id := N + 434; -- Ada 05
Name_Machine_Rounds : constant Name_Id := N + 435;
Name_Machine_Size : constant Name_Id := N + 436; -- GNAT
Name_Mantissa : constant Name_Id := N + 437; -- Ada 83
Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 438;
Name_Maximum_Alignment : constant Name_Id := N + 439; -- GNAT
Name_Mechanism_Code : constant Name_Id := N + 440; -- GNAT
Name_Mod : constant Name_Id := N + 441; -- Ada 05
Name_Model_Emin : constant Name_Id := N + 442;
Name_Model_Epsilon : constant Name_Id := N + 443;
Name_Model_Mantissa : constant Name_Id := N + 444;
Name_Model_Small : constant Name_Id := N + 445;
Name_Modulus : constant Name_Id := N + 446;
Name_Null_Parameter : constant Name_Id := N + 447; -- GNAT
Name_Object_Size : constant Name_Id := N + 448; -- GNAT
Name_Old : constant Name_Id := N + 449; -- GNAT
Name_Partition_ID : constant Name_Id := N + 450;
Name_Passed_By_Reference : constant Name_Id := N + 451; -- GNAT
Name_Pool_Address : constant Name_Id := N + 452;
Name_Pos : constant Name_Id := N + 453;
Name_Position : constant Name_Id := N + 454;
Name_Priority : constant Name_Id := N + 455; -- Ada 05
Name_Range : constant Name_Id := N + 456;
Name_Range_Length : constant Name_Id := N + 457; -- GNAT
Name_Result : constant Name_Id := N + 458; -- GNAT
Name_Round : constant Name_Id := N + 459;
Name_Safe_Emax : constant Name_Id := N + 460; -- Ada 83
Name_Safe_First : constant Name_Id := N + 461;
Name_Safe_Large : constant Name_Id := N + 462; -- Ada 83
Name_Safe_Last : constant Name_Id := N + 463;
Name_Safe_Small : constant Name_Id := N + 464; -- Ada 83
Name_Scale : constant Name_Id := N + 465;
Name_Scaling : constant Name_Id := N + 466;
Name_Signed_Zeros : constant Name_Id := N + 467;
Name_Size : constant Name_Id := N + 468;
Name_Small : constant Name_Id := N + 469;
Name_Storage_Size : constant Name_Id := N + 470;
Name_Storage_Unit : constant Name_Id := N + 471; -- GNAT
Name_Stream_Size : constant Name_Id := N + 472; -- Ada 05
Name_Tag : constant Name_Id := N + 473;
Name_Target_Name : constant Name_Id := N + 474; -- GNAT
Name_Terminated : constant Name_Id := N + 475;
Name_To_Address : constant Name_Id := N + 476; -- GNAT
Name_Type_Class : constant Name_Id := N + 477; -- GNAT
Name_UET_Address : constant Name_Id := N + 478; -- GNAT
Name_Unbiased_Rounding : constant Name_Id := N + 479;
Name_Unchecked_Access : constant Name_Id := N + 480;
Name_Unconstrained_Array : constant Name_Id := N + 481;
Name_Universal_Literal_String : constant Name_Id := N + 482; -- GNAT
Name_Unrestricted_Access : constant Name_Id := N + 483; -- GNAT
Name_VADS_Size : constant Name_Id := N + 484; -- GNAT
Name_Val : constant Name_Id := N + 485;
Name_Valid : constant Name_Id := N + 486;
Name_Value_Size : constant Name_Id := N + 487; -- GNAT
Name_Version : constant Name_Id := N + 488;
Name_Wchar_T_Size : constant Name_Id := N + 489; -- GNAT
Name_Wide_Wide_Width : constant Name_Id := N + 490; -- Ada 05
Name_Wide_Width : constant Name_Id := N + 491;
Name_Width : constant Name_Id := N + 492;
Name_Word_Size : constant Name_Id := N + 493; -- 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 + 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_From_Any : constant Name_Id := N + 498; -- GNAT
Name_Image : constant Name_Id := N + 499;
Name_Input : constant Name_Id := N + 500;
Name_Machine : constant Name_Id := N + 501;
Name_Max : constant Name_Id := N + 502;
Name_Min : constant Name_Id := N + 503;
Name_Model : constant Name_Id := N + 504;
Name_Pred : constant Name_Id := N + 505;
Name_Remainder : constant Name_Id := N + 506;
Name_Rounding : constant Name_Id := N + 507;
Name_Succ : constant Name_Id := N + 508;
Name_To_Any : constant Name_Id := N + 509; -- GNAT
Name_Truncation : constant Name_Id := N + 510;
Name_TypeCode : constant Name_Id := N + 511; -- GNAT
Name_Value : constant Name_Id := N + 512;
Name_Wide_Image : constant Name_Id := N + 513;
Name_Wide_Wide_Image : constant Name_Id := N + 514;
Name_Wide_Value : constant Name_Id := N + 515;
Name_Wide_Wide_Value : constant Name_Id := N + 516;
Last_Renamable_Function_Attribute : constant Name_Id := N + 516;
First_Renamable_Function_Attribute : constant Name_Id := N + 494;
Name_Adjacent : constant Name_Id := N + 494;
Name_Ceiling : constant Name_Id := N + 495;
Name_Copy_Sign : constant Name_Id := N + 496;
Name_Floor : constant Name_Id := N + 497;
Name_Fraction : constant Name_Id := N + 498;
Name_From_Any : constant Name_Id := N + 499; -- GNAT
Name_Image : constant Name_Id := N + 500;
Name_Input : constant Name_Id := N + 501;
Name_Machine : constant Name_Id := N + 502;
Name_Max : constant Name_Id := N + 503;
Name_Min : constant Name_Id := N + 504;
Name_Model : constant Name_Id := N + 505;
Name_Pred : constant Name_Id := N + 506;
Name_Remainder : constant Name_Id := N + 507;
Name_Rounding : constant Name_Id := N + 508;
Name_Succ : constant Name_Id := N + 509;
Name_To_Any : constant Name_Id := N + 510; -- GNAT
Name_Truncation : constant Name_Id := N + 511;
Name_TypeCode : constant Name_Id := N + 512; -- GNAT
Name_Value : constant Name_Id := N + 513;
Name_Wide_Image : constant Name_Id := N + 514;
Name_Wide_Wide_Image : constant Name_Id := N + 515;
Name_Wide_Value : constant Name_Id := N + 516;
Name_Wide_Wide_Value : constant Name_Id := N + 517;
Last_Renamable_Function_Attribute : constant Name_Id := N + 517;
-- Attributes that designate procedures
First_Procedure_Attribute : constant Name_Id := N + 517;
Name_Output : constant Name_Id := N + 517;
Name_Read : constant Name_Id := N + 518;
Name_Write : constant Name_Id := N + 519;
Last_Procedure_Attribute : constant Name_Id := N + 519;
First_Procedure_Attribute : constant Name_Id := N + 518;
Name_Output : constant Name_Id := N + 518;
Name_Read : constant Name_Id := N + 519;
Name_Write : constant Name_Id := N + 520;
Last_Procedure_Attribute : constant Name_Id := N + 520;
-- Remaining attributes are ones that return entities
First_Entity_Attribute_Name : constant Name_Id := N + 520;
Name_Elab_Body : constant Name_Id := N + 520; -- GNAT
Name_Elab_Spec : constant Name_Id := N + 521; -- GNAT
Name_Storage_Pool : constant Name_Id := N + 522;
First_Entity_Attribute_Name : constant Name_Id := N + 521;
Name_Elab_Body : constant Name_Id := N + 521; -- GNAT
Name_Elab_Spec : constant Name_Id := N + 522; -- GNAT
Name_Storage_Pool : constant Name_Id := N + 523;
-- These attributes are the ones that return types
First_Type_Attribute_Name : constant Name_Id := N + 523;
Name_Base : constant Name_Id := N + 523;
Name_Class : constant Name_Id := N + 524;
Name_Stub_Type : constant Name_Id := N + 525;
Last_Type_Attribute_Name : constant Name_Id := N + 525;
Last_Entity_Attribute_Name : constant Name_Id := N + 525;
Last_Attribute_Name : constant Name_Id := N + 525;
First_Type_Attribute_Name : constant Name_Id := N + 524;
Name_Base : constant Name_Id := N + 524;
Name_Class : constant Name_Id := N + 525;
Name_Stub_Type : constant Name_Id := N + 526;
Last_Type_Attribute_Name : constant Name_Id := N + 526;
Last_Entity_Attribute_Name : constant Name_Id := N + 526;
Last_Attribute_Name : constant Name_Id := N + 526;
-- Names of recognized locking policy identifiers
@ -853,10 +854,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 + 526;
Name_Ceiling_Locking : constant Name_Id := N + 526;
Name_Inheritance_Locking : constant Name_Id := N + 527;
Last_Locking_Policy_Name : constant Name_Id := N + 527;
First_Locking_Policy_Name : constant Name_Id := N + 527;
Name_Ceiling_Locking : constant Name_Id := N + 527;
Name_Inheritance_Locking : constant Name_Id := N + 528;
Last_Locking_Policy_Name : constant Name_Id := N + 528;
-- Names of recognized queuing policy identifiers
@ -864,10 +865,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 + 528;
Name_FIFO_Queuing : constant Name_Id := N + 528;
Name_Priority_Queuing : constant Name_Id := N + 529;
Last_Queuing_Policy_Name : constant Name_Id := N + 529;
First_Queuing_Policy_Name : constant Name_Id := N + 529;
Name_FIFO_Queuing : constant Name_Id := N + 529;
Name_Priority_Queuing : constant Name_Id := N + 530;
Last_Queuing_Policy_Name : constant Name_Id := N + 530;
-- Names of recognized task dispatching policy identifiers
@ -875,287 +876,287 @@ 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 + 530;
Name_EDF_Across_Priorities : constant Name_Id := N + 530;
Name_FIFO_Within_Priorities : constant Name_Id := N + 531;
Name_Non_Preemptive_Within_Priorities : constant Name_Id := N + 532;
Name_Round_Robin_Within_Priorities : constant Name_Id := N + 533;
Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 533;
First_Task_Dispatching_Policy_Name : constant Name_Id := N + 531;
Name_EDF_Across_Priorities : constant Name_Id := N + 531;
Name_FIFO_Within_Priorities : constant Name_Id := N + 532;
Name_Non_Preemptive_Within_Priorities : constant Name_Id := N + 533;
Name_Round_Robin_Within_Priorities : constant Name_Id := N + 534;
Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 534;
-- Names of recognized checks for pragma Suppress
First_Check_Name : constant Name_Id := N + 534;
Name_Access_Check : constant Name_Id := N + 534;
Name_Accessibility_Check : constant Name_Id := N + 535;
Name_Alignment_Check : constant Name_Id := N + 536; -- GNAT
Name_Discriminant_Check : constant Name_Id := N + 537;
Name_Division_Check : constant Name_Id := N + 538;
Name_Elaboration_Check : constant Name_Id := N + 539;
Name_Index_Check : constant Name_Id := N + 540;
Name_Length_Check : constant Name_Id := N + 541;
Name_Overflow_Check : constant Name_Id := N + 542;
Name_Range_Check : constant Name_Id := N + 543;
Name_Storage_Check : constant Name_Id := N + 544;
Name_Tag_Check : constant Name_Id := N + 545;
Name_Validity_Check : constant Name_Id := N + 546; -- GNAT
Name_All_Checks : constant Name_Id := N + 547;
Last_Check_Name : constant Name_Id := N + 547;
First_Check_Name : constant Name_Id := N + 535;
Name_Access_Check : constant Name_Id := N + 535;
Name_Accessibility_Check : constant Name_Id := N + 536;
Name_Alignment_Check : constant Name_Id := N + 537; -- GNAT
Name_Discriminant_Check : constant Name_Id := N + 538;
Name_Division_Check : constant Name_Id := N + 539;
Name_Elaboration_Check : constant Name_Id := N + 540;
Name_Index_Check : constant Name_Id := N + 541;
Name_Length_Check : constant Name_Id := N + 542;
Name_Overflow_Check : constant Name_Id := N + 543;
Name_Range_Check : constant Name_Id := N + 544;
Name_Storage_Check : constant Name_Id := N + 545;
Name_Tag_Check : constant Name_Id := N + 546;
Name_Validity_Check : constant Name_Id := N + 547; -- GNAT
Name_All_Checks : constant Name_Id := N + 548;
Last_Check_Name : constant Name_Id := N + 548;
-- Names corresponding to reserved keywords, excluding those already
-- declared in the attribute list (Access, Delta, Digits, Mod, Range).
Name_Abort : constant Name_Id := N + 548;
Name_Abs : constant Name_Id := N + 549;
Name_Accept : constant Name_Id := N + 550;
Name_And : constant Name_Id := N + 551;
Name_All : constant Name_Id := N + 552;
Name_Array : constant Name_Id := N + 553;
Name_At : constant Name_Id := N + 554;
Name_Begin : constant Name_Id := N + 555;
Name_Body : constant Name_Id := N + 556;
Name_Case : constant Name_Id := N + 557;
Name_Constant : constant Name_Id := N + 558;
Name_Declare : constant Name_Id := N + 559;
Name_Delay : constant Name_Id := N + 560;
Name_Do : constant Name_Id := N + 561;
Name_Else : constant Name_Id := N + 562;
Name_Elsif : constant Name_Id := N + 563;
Name_End : constant Name_Id := N + 564;
Name_Entry : constant Name_Id := N + 565;
Name_Exception : constant Name_Id := N + 566;
Name_Exit : constant Name_Id := N + 567;
Name_For : constant Name_Id := N + 568;
Name_Function : constant Name_Id := N + 569;
Name_Generic : constant Name_Id := N + 570;
Name_Goto : constant Name_Id := N + 571;
Name_If : constant Name_Id := N + 572;
Name_In : constant Name_Id := N + 573;
Name_Is : constant Name_Id := N + 574;
Name_Limited : constant Name_Id := N + 575;
Name_Loop : constant Name_Id := N + 576;
Name_New : constant Name_Id := N + 577;
Name_Not : constant Name_Id := N + 578;
Name_Null : constant Name_Id := N + 579;
Name_Of : constant Name_Id := N + 580;
Name_Or : constant Name_Id := N + 581;
Name_Others : constant Name_Id := N + 582;
Name_Out : constant Name_Id := N + 583;
Name_Package : constant Name_Id := N + 584;
Name_Pragma : constant Name_Id := N + 585;
Name_Private : constant Name_Id := N + 586;
Name_Procedure : constant Name_Id := N + 587;
Name_Raise : constant Name_Id := N + 588;
Name_Record : constant Name_Id := N + 589;
Name_Rem : constant Name_Id := N + 590;
Name_Renames : constant Name_Id := N + 591;
Name_Return : constant Name_Id := N + 592;
Name_Reverse : constant Name_Id := N + 593;
Name_Select : constant Name_Id := N + 594;
Name_Separate : constant Name_Id := N + 595;
Name_Subtype : constant Name_Id := N + 596;
Name_Task : constant Name_Id := N + 597;
Name_Terminate : constant Name_Id := N + 598;
Name_Then : constant Name_Id := N + 599;
Name_Type : constant Name_Id := N + 600;
Name_Use : constant Name_Id := N + 601;
Name_When : constant Name_Id := N + 602;
Name_While : constant Name_Id := N + 603;
Name_With : constant Name_Id := N + 604;
Name_Xor : constant Name_Id := N + 605;
Name_Abort : constant Name_Id := N + 549;
Name_Abs : constant Name_Id := N + 550;
Name_Accept : constant Name_Id := N + 551;
Name_And : constant Name_Id := N + 552;
Name_All : constant Name_Id := N + 553;
Name_Array : constant Name_Id := N + 554;
Name_At : constant Name_Id := N + 555;
Name_Begin : constant Name_Id := N + 556;
Name_Body : constant Name_Id := N + 557;
Name_Case : constant Name_Id := N + 558;
Name_Constant : constant Name_Id := N + 559;
Name_Declare : constant Name_Id := N + 560;
Name_Delay : constant Name_Id := N + 561;
Name_Do : constant Name_Id := N + 562;
Name_Else : constant Name_Id := N + 563;
Name_Elsif : constant Name_Id := N + 564;
Name_End : constant Name_Id := N + 565;
Name_Entry : constant Name_Id := N + 566;
Name_Exception : constant Name_Id := N + 567;
Name_Exit : constant Name_Id := N + 568;
Name_For : constant Name_Id := N + 569;
Name_Function : constant Name_Id := N + 570;
Name_Generic : constant Name_Id := N + 571;
Name_Goto : constant Name_Id := N + 572;
Name_If : constant Name_Id := N + 573;
Name_In : constant Name_Id := N + 574;
Name_Is : constant Name_Id := N + 575;
Name_Limited : constant Name_Id := N + 576;
Name_Loop : constant Name_Id := N + 577;
Name_New : constant Name_Id := N + 578;
Name_Not : constant Name_Id := N + 579;
Name_Null : constant Name_Id := N + 580;
Name_Of : constant Name_Id := N + 581;
Name_Or : constant Name_Id := N + 582;
Name_Others : constant Name_Id := N + 583;
Name_Out : constant Name_Id := N + 584;
Name_Package : constant Name_Id := N + 585;
Name_Pragma : constant Name_Id := N + 586;
Name_Private : constant Name_Id := N + 587;
Name_Procedure : constant Name_Id := N + 588;
Name_Raise : constant Name_Id := N + 589;
Name_Record : constant Name_Id := N + 590;
Name_Rem : constant Name_Id := N + 591;
Name_Renames : constant Name_Id := N + 592;
Name_Return : constant Name_Id := N + 593;
Name_Reverse : constant Name_Id := N + 594;
Name_Select : constant Name_Id := N + 595;
Name_Separate : constant Name_Id := N + 596;
Name_Subtype : constant Name_Id := N + 597;
Name_Task : constant Name_Id := N + 598;
Name_Terminate : constant Name_Id := N + 599;
Name_Then : constant Name_Id := N + 600;
Name_Type : constant Name_Id := N + 601;
Name_Use : constant Name_Id := N + 602;
Name_When : constant Name_Id := N + 603;
Name_While : constant Name_Id := N + 604;
Name_With : constant Name_Id := N + 605;
Name_Xor : constant Name_Id := N + 606;
-- Names of intrinsic subprograms
-- Note: Asm is missing from this list, since Asm is a legitimate
-- convention name. So is To_Address, which is a GNAT attribute.
First_Intrinsic_Name : constant Name_Id := N + 606;
Name_Divide : constant Name_Id := N + 606;
Name_Enclosing_Entity : constant Name_Id := N + 607;
Name_Exception_Information : constant Name_Id := N + 608;
Name_Exception_Message : constant Name_Id := N + 609;
Name_Exception_Name : constant Name_Id := N + 610;
Name_File : constant Name_Id := N + 611;
Name_Generic_Dispatching_Constructor : constant Name_Id := N + 612;
Name_Import_Address : constant Name_Id := N + 613;
Name_Import_Largest_Value : constant Name_Id := N + 614;
Name_Import_Value : constant Name_Id := N + 615;
Name_Is_Negative : constant Name_Id := N + 616;
Name_Line : constant Name_Id := N + 617;
Name_Rotate_Left : constant Name_Id := N + 618;
Name_Rotate_Right : constant Name_Id := N + 619;
Name_Shift_Left : constant Name_Id := N + 620;
Name_Shift_Right : constant Name_Id := N + 621;
Name_Shift_Right_Arithmetic : constant Name_Id := N + 622;
Name_Source_Location : constant Name_Id := N + 623;
Name_Unchecked_Conversion : constant Name_Id := N + 624;
Name_Unchecked_Deallocation : constant Name_Id := N + 625;
Name_To_Pointer : constant Name_Id := N + 626;
Last_Intrinsic_Name : constant Name_Id := N + 626;
First_Intrinsic_Name : constant Name_Id := N + 607;
Name_Divide : constant Name_Id := N + 607;
Name_Enclosing_Entity : constant Name_Id := N + 608;
Name_Exception_Information : constant Name_Id := N + 609;
Name_Exception_Message : constant Name_Id := N + 610;
Name_Exception_Name : constant Name_Id := N + 611;
Name_File : constant Name_Id := N + 612;
Name_Generic_Dispatching_Constructor : constant Name_Id := N + 613;
Name_Import_Address : constant Name_Id := N + 614;
Name_Import_Largest_Value : constant Name_Id := N + 615;
Name_Import_Value : constant Name_Id := N + 616;
Name_Is_Negative : constant Name_Id := N + 617;
Name_Line : constant Name_Id := N + 618;
Name_Rotate_Left : constant Name_Id := N + 619;
Name_Rotate_Right : constant Name_Id := N + 620;
Name_Shift_Left : constant Name_Id := N + 621;
Name_Shift_Right : constant Name_Id := N + 622;
Name_Shift_Right_Arithmetic : constant Name_Id := N + 623;
Name_Source_Location : constant Name_Id := N + 624;
Name_Unchecked_Conversion : constant Name_Id := N + 625;
Name_Unchecked_Deallocation : constant Name_Id := N + 626;
Name_To_Pointer : constant Name_Id := N + 627;
Last_Intrinsic_Name : constant Name_Id := N + 627;
-- Names used in processing intrinsic calls
Name_Free : constant Name_Id := N + 627;
Name_Free : constant Name_Id := N + 628;
-- Reserved words used only in Ada 95
First_95_Reserved_Word : constant Name_Id := N + 628;
Name_Abstract : constant Name_Id := N + 628;
Name_Aliased : constant Name_Id := N + 629;
Name_Protected : constant Name_Id := N + 630;
Name_Until : constant Name_Id := N + 631;
Name_Requeue : constant Name_Id := N + 632;
Name_Tagged : constant Name_Id := N + 633;
Last_95_Reserved_Word : constant Name_Id := N + 633;
First_95_Reserved_Word : constant Name_Id := N + 629;
Name_Abstract : constant Name_Id := N + 629;
Name_Aliased : constant Name_Id := N + 630;
Name_Protected : constant Name_Id := N + 631;
Name_Until : constant Name_Id := N + 632;
Name_Requeue : constant Name_Id := N + 633;
Name_Tagged : constant Name_Id := N + 634;
Last_95_Reserved_Word : constant Name_Id := N + 634;
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 + 634;
Name_Raise_Exception : constant Name_Id := N + 635;
-- 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 + 635;
Name_Aggregate : constant Name_Id := N + 636;
Name_Archive_Builder : constant Name_Id := N + 637;
Name_Archive_Builder_Append_Option : constant Name_Id := N + 638;
Name_Archive_Indexer : constant Name_Id := N + 639;
Name_Archive_Suffix : constant Name_Id := N + 640;
Name_Binder : constant Name_Id := N + 641;
Name_Binder_Prefix : constant Name_Id := N + 642;
Name_Body_Suffix : constant Name_Id := N + 643;
Name_Builder : constant Name_Id := N + 644;
Name_Builder_Switches : constant Name_Id := N + 645;
Name_Compiler : constant Name_Id := N + 646;
Name_Compiler_Command : constant Name_Id := N + 647;
Name_Compiler_Kind : constant Name_Id := N + 648;
Name_Config_Body_File_Name : constant Name_Id := N + 649;
Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 650;
Name_Config_File_Switches : constant Name_Id := N + 651;
Name_Config_File_Unique : constant Name_Id := N + 652;
Name_Config_Spec_File_Name : constant Name_Id := N + 653;
Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 654;
Name_Configuration : constant Name_Id := N + 655;
Name_Cross_Reference : constant Name_Id := N + 656;
Name_Default_Language : constant Name_Id := N + 657;
Name_Default_Switches : constant Name_Id := N + 658;
Name_Dependency_Driver : constant Name_Id := N + 659;
Name_Dependency_File_Kind : constant Name_Id := N + 660;
Name_Dependency_Switches : constant Name_Id := N + 661;
Name_Driver : constant Name_Id := N + 662;
Name_Excluded_Source_Dirs : constant Name_Id := N + 663;
Name_Excluded_Source_Files : constant Name_Id := N + 664;
Name_Excluded_Source_List_File : constant Name_Id := N + 665;
Name_Exec_Dir : constant Name_Id := N + 666;
Name_Executable : constant Name_Id := N + 667;
Name_Executable_Suffix : constant Name_Id := N + 668;
Name_Extends : constant Name_Id := N + 669;
Name_Externally_Built : constant Name_Id := N + 670;
Name_Finder : constant Name_Id := N + 671;
Name_Global_Compilation_Switches : constant Name_Id := N + 672;
Name_Global_Configuration_Pragmas : constant Name_Id := N + 673;
Name_Global_Config_File : constant Name_Id := N + 674;
Name_Gnatls : constant Name_Id := N + 675;
Name_Gnatstub : constant Name_Id := N + 676;
Name_Ide : constant Name_Id := N + 677;
Name_Implementation : constant Name_Id := N + 678;
Name_Implementation_Exceptions : constant Name_Id := N + 679;
Name_Implementation_Suffix : constant Name_Id := N + 680;
Name_Include_Switches : constant Name_Id := N + 681;
Name_Include_Path : constant Name_Id := N + 682;
Name_Include_Path_File : constant Name_Id := N + 683;
Name_Inherit_Source_Path : constant Name_Id := N + 684;
Name_Language_Kind : constant Name_Id := N + 685;
Name_Language_Processing : constant Name_Id := N + 686;
Name_Languages : constant Name_Id := N + 687;
Name_Library : constant Name_Id := N + 688;
Name_Library_Ali_Dir : constant Name_Id := N + 689;
Name_Library_Auto_Init : constant Name_Id := N + 690;
Name_Library_Auto_Init_Supported : constant Name_Id := N + 691;
Name_Library_Builder : constant Name_Id := N + 692;
Name_Library_Dir : constant Name_Id := N + 693;
Name_Library_GCC : constant Name_Id := N + 694;
Name_Library_Interface : constant Name_Id := N + 695;
Name_Library_Kind : constant Name_Id := N + 696;
Name_Library_Name : constant Name_Id := N + 697;
Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 698;
Name_Library_Options : constant Name_Id := N + 699;
Name_Library_Partial_Linker : constant Name_Id := N + 700;
Name_Library_Reference_Symbol_File : constant Name_Id := N + 701;
Name_Library_Src_Dir : constant Name_Id := N + 702;
Name_Library_Support : constant Name_Id := N + 703;
Name_Library_Symbol_File : constant Name_Id := N + 704;
Name_Library_Symbol_Policy : constant Name_Id := N + 705;
Name_Library_Version : constant Name_Id := N + 706;
Name_Library_Version_Switches : constant Name_Id := N + 707;
Name_Linker : constant Name_Id := N + 708;
Name_Linker_Executable_Option : constant Name_Id := N + 709;
Name_Linker_Lib_Dir_Option : constant Name_Id := N + 710;
Name_Linker_Lib_Name_Option : constant Name_Id := N + 711;
Name_Local_Config_File : constant Name_Id := N + 712;
Name_Local_Configuration_Pragmas : constant Name_Id := N + 713;
Name_Locally_Removed_Files : constant Name_Id := N + 714;
Name_Map_File_Option : constant Name_Id := N + 715;
Name_Mapping_File_Switches : constant Name_Id := N + 716;
Name_Mapping_Spec_Suffix : constant Name_Id := N + 717;
Name_Mapping_Body_Suffix : constant Name_Id := N + 718;
Name_Metrics : constant Name_Id := N + 719;
Name_Naming : constant Name_Id := N + 720;
Name_Object_Generated : constant Name_Id := N + 721;
Name_Objects_Linked : constant Name_Id := N + 722;
Name_Objects_Path : constant Name_Id := N + 723;
Name_Objects_Path_File : constant Name_Id := N + 724;
Name_Object_Dir : constant Name_Id := N + 725;
Name_Path_Syntax : constant Name_Id := N + 726;
Name_Pic_Option : constant Name_Id := N + 727;
Name_Pretty_Printer : constant Name_Id := N + 728;
Name_Prefix : constant Name_Id := N + 729;
Name_Project : constant Name_Id := N + 730;
Name_Roots : constant Name_Id := N + 731;
Name_Required_Switches : constant Name_Id := N + 732;
Name_Run_Path_Option : constant Name_Id := N + 733;
Name_Runtime_Project : constant Name_Id := N + 734;
Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 735;
Name_Shared_Library_Prefix : constant Name_Id := N + 736;
Name_Shared_Library_Suffix : constant Name_Id := N + 737;
Name_Separate_Suffix : constant Name_Id := N + 738;
Name_Source_Dirs : constant Name_Id := N + 739;
Name_Source_Files : constant Name_Id := N + 740;
Name_Source_List_File : constant Name_Id := N + 741;
Name_Spec : constant Name_Id := N + 742;
Name_Spec_Suffix : constant Name_Id := N + 743;
Name_Specification : constant Name_Id := N + 744;
Name_Specification_Exceptions : constant Name_Id := N + 745;
Name_Specification_Suffix : constant Name_Id := N + 746;
Name_Stack : constant Name_Id := N + 747;
Name_Switches : constant Name_Id := N + 748;
Name_Symbolic_Link_Supported : constant Name_Id := N + 749;
Name_Sync : constant Name_Id := N + 750;
Name_Synchronize : constant Name_Id := N + 751;
Name_Toolchain_Description : constant Name_Id := N + 752;
Name_Toolchain_Version : constant Name_Id := N + 753;
Name_Runtime_Library_Dir : constant Name_Id := N + 754;
Name_Ada_Roots : constant Name_Id := N + 636;
Name_Aggregate : constant Name_Id := N + 637;
Name_Archive_Builder : constant Name_Id := N + 638;
Name_Archive_Builder_Append_Option : constant Name_Id := N + 639;
Name_Archive_Indexer : constant Name_Id := N + 640;
Name_Archive_Suffix : constant Name_Id := N + 641;
Name_Binder : constant Name_Id := N + 642;
Name_Binder_Prefix : constant Name_Id := N + 643;
Name_Body_Suffix : constant Name_Id := N + 644;
Name_Builder : constant Name_Id := N + 645;
Name_Builder_Switches : constant Name_Id := N + 646;
Name_Compiler : constant Name_Id := N + 647;
Name_Compiler_Command : constant Name_Id := N + 648;
Name_Compiler_Kind : constant Name_Id := N + 649;
Name_Config_Body_File_Name : constant Name_Id := N + 650;
Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 651;
Name_Config_File_Switches : constant Name_Id := N + 652;
Name_Config_File_Unique : constant Name_Id := N + 653;
Name_Config_Spec_File_Name : constant Name_Id := N + 654;
Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 655;
Name_Configuration : constant Name_Id := N + 656;
Name_Cross_Reference : constant Name_Id := N + 657;
Name_Default_Language : constant Name_Id := N + 658;
Name_Default_Switches : constant Name_Id := N + 659;
Name_Dependency_Driver : constant Name_Id := N + 660;
Name_Dependency_File_Kind : constant Name_Id := N + 661;
Name_Dependency_Switches : constant Name_Id := N + 662;
Name_Driver : constant Name_Id := N + 663;
Name_Excluded_Source_Dirs : constant Name_Id := N + 664;
Name_Excluded_Source_Files : constant Name_Id := N + 665;
Name_Excluded_Source_List_File : constant Name_Id := N + 666;
Name_Exec_Dir : constant Name_Id := N + 667;
Name_Executable : constant Name_Id := N + 668;
Name_Executable_Suffix : constant Name_Id := N + 669;
Name_Extends : constant Name_Id := N + 670;
Name_Externally_Built : constant Name_Id := N + 671;
Name_Finder : constant Name_Id := N + 672;
Name_Global_Compilation_Switches : constant Name_Id := N + 673;
Name_Global_Configuration_Pragmas : constant Name_Id := N + 674;
Name_Global_Config_File : constant Name_Id := N + 675;
Name_Gnatls : constant Name_Id := N + 676;
Name_Gnatstub : constant Name_Id := N + 677;
Name_Ide : constant Name_Id := N + 678;
Name_Implementation : constant Name_Id := N + 679;
Name_Implementation_Exceptions : constant Name_Id := N + 680;
Name_Implementation_Suffix : constant Name_Id := N + 681;
Name_Include_Switches : constant Name_Id := N + 682;
Name_Include_Path : constant Name_Id := N + 683;
Name_Include_Path_File : constant Name_Id := N + 684;
Name_Inherit_Source_Path : constant Name_Id := N + 685;
Name_Language_Kind : constant Name_Id := N + 686;
Name_Language_Processing : constant Name_Id := N + 687;
Name_Languages : constant Name_Id := N + 688;
Name_Library : constant Name_Id := N + 689;
Name_Library_Ali_Dir : constant Name_Id := N + 690;
Name_Library_Auto_Init : constant Name_Id := N + 691;
Name_Library_Auto_Init_Supported : constant Name_Id := N + 692;
Name_Library_Builder : constant Name_Id := N + 693;
Name_Library_Dir : constant Name_Id := N + 694;
Name_Library_GCC : constant Name_Id := N + 695;
Name_Library_Interface : constant Name_Id := N + 696;
Name_Library_Kind : constant Name_Id := N + 697;
Name_Library_Name : constant Name_Id := N + 698;
Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 699;
Name_Library_Options : constant Name_Id := N + 700;
Name_Library_Partial_Linker : constant Name_Id := N + 701;
Name_Library_Reference_Symbol_File : constant Name_Id := N + 702;
Name_Library_Src_Dir : constant Name_Id := N + 703;
Name_Library_Support : constant Name_Id := N + 704;
Name_Library_Symbol_File : constant Name_Id := N + 705;
Name_Library_Symbol_Policy : constant Name_Id := N + 706;
Name_Library_Version : constant Name_Id := N + 707;
Name_Library_Version_Switches : constant Name_Id := N + 708;
Name_Linker : constant Name_Id := N + 709;
Name_Linker_Executable_Option : constant Name_Id := N + 710;
Name_Linker_Lib_Dir_Option : constant Name_Id := N + 711;
Name_Linker_Lib_Name_Option : constant Name_Id := N + 712;
Name_Local_Config_File : constant Name_Id := N + 713;
Name_Local_Configuration_Pragmas : constant Name_Id := N + 714;
Name_Locally_Removed_Files : constant Name_Id := N + 715;
Name_Map_File_Option : constant Name_Id := N + 716;
Name_Mapping_File_Switches : constant Name_Id := N + 717;
Name_Mapping_Spec_Suffix : constant Name_Id := N + 718;
Name_Mapping_Body_Suffix : constant Name_Id := N + 719;
Name_Metrics : constant Name_Id := N + 720;
Name_Naming : constant Name_Id := N + 721;
Name_Object_Generated : constant Name_Id := N + 722;
Name_Objects_Linked : constant Name_Id := N + 723;
Name_Objects_Path : constant Name_Id := N + 724;
Name_Objects_Path_File : constant Name_Id := N + 725;
Name_Object_Dir : constant Name_Id := N + 726;
Name_Path_Syntax : constant Name_Id := N + 727;
Name_Pic_Option : constant Name_Id := N + 728;
Name_Pretty_Printer : constant Name_Id := N + 729;
Name_Prefix : constant Name_Id := N + 730;
Name_Project : constant Name_Id := N + 731;
Name_Roots : constant Name_Id := N + 732;
Name_Required_Switches : constant Name_Id := N + 733;
Name_Run_Path_Option : constant Name_Id := N + 734;
Name_Runtime_Project : constant Name_Id := N + 735;
Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 736;
Name_Shared_Library_Prefix : constant Name_Id := N + 737;
Name_Shared_Library_Suffix : constant Name_Id := N + 738;
Name_Separate_Suffix : constant Name_Id := N + 739;
Name_Source_Dirs : constant Name_Id := N + 740;
Name_Source_Files : constant Name_Id := N + 741;
Name_Source_List_File : constant Name_Id := N + 742;
Name_Spec : constant Name_Id := N + 743;
Name_Spec_Suffix : constant Name_Id := N + 744;
Name_Specification : constant Name_Id := N + 745;
Name_Specification_Exceptions : constant Name_Id := N + 746;
Name_Specification_Suffix : constant Name_Id := N + 747;
Name_Stack : constant Name_Id := N + 748;
Name_Switches : constant Name_Id := N + 749;
Name_Symbolic_Link_Supported : constant Name_Id := N + 750;
Name_Sync : constant Name_Id := N + 751;
Name_Synchronize : constant Name_Id := N + 752;
Name_Toolchain_Description : constant Name_Id := N + 753;
Name_Toolchain_Version : constant Name_Id := N + 754;
Name_Runtime_Library_Dir : constant Name_Id := N + 755;
-- Other miscellaneous names used in front end
Name_Unaligned_Valid : constant Name_Id := N + 755;
Name_Unaligned_Valid : constant Name_Id := N + 756;
-- Ada 2005 reserved words
First_2005_Reserved_Word : constant Name_Id := N + 756;
Name_Interface : constant Name_Id := N + 756;
Name_Overriding : constant Name_Id := N + 757;
Name_Synchronized : constant Name_Id := N + 758;
Last_2005_Reserved_Word : constant Name_Id := N + 758;
First_2005_Reserved_Word : constant Name_Id := N + 757;
Name_Interface : constant Name_Id := N + 757;
Name_Overriding : constant Name_Id := N + 758;
Name_Synchronized : constant Name_Id := N + 759;
Last_2005_Reserved_Word : constant Name_Id := N + 759;
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 + 758;
Last_Predefined_Name : constant Name_Id := N + 759;
---------------------------------------
-- Subtypes Defining Name Categories --