with Csets; use Csets;
with Debug; use Debug;
with Einfo; use Einfo;
-with Elists; use Elists;
with Errout; use Errout;
with Exp_Dist; use Exp_Dist;
with Hostparm; use Hostparm;
with Sem_Ch3; use Sem_Ch3;
with Sem_Ch8; use Sem_Ch8;
with Sem_Ch13; use Sem_Ch13;
-with Sem_Disp; use Sem_Disp;
with Sem_Dist; use Sem_Dist;
with Sem_Elim; use Sem_Elim;
with Sem_Eval; use Sem_Eval;
-- Shared is an obsolete Ada 83 pragma, treated as being identical
-- in effect to pragma Atomic.
+ procedure Process_Compile_Time_Warning_Or_Error;
+ -- Common processing for Compile_Time_Error and Compile_Time_Warning
+
procedure Process_Convention (C : out Convention_Id; E : out Entity_Id);
-- Common procesing for Convention, Interface, Import and Export.
-- Checks first two arguments of pragma, and sets the appropriate
end if;
end Process_Atomic_Shared_Volatile;
+ -------------------------------------------
+ -- Process_Compile_Time_Warning_Or_Error --
+ -------------------------------------------
+
+ procedure Process_Compile_Time_Warning_Or_Error is
+ Arg1x : constant Node_Id := Get_Pragma_Arg (Arg1);
+
+ begin
+ GNAT_Pragma;
+ Check_Arg_Count (2);
+ Check_No_Identifiers;
+ Check_Arg_Is_Static_Expression (Arg2, Standard_String);
+ Analyze_And_Resolve (Arg1x, Standard_Boolean);
+
+ if Compile_Time_Known_Value (Arg1x) then
+ if Is_True (Expr_Value (Get_Pragma_Arg (Arg1))) then
+ declare
+ Str : constant String_Id :=
+ Strval (Get_Pragma_Arg (Arg2));
+ Len : constant Int := String_Length (Str);
+ Cont : Boolean;
+ Ptr : Nat;
+ CC : Char_Code;
+ C : Character;
+
+ begin
+ Cont := False;
+ Ptr := 1;
+
+ -- Loop through segments of message separated by line
+ -- feeds. We output these segments as separate messages
+ -- with continuation marks for all but the first.
+
+ loop
+ Error_Msg_Strlen := 0;
+
+ -- Loop to copy characters from argument to error
+ -- message string buffer.
+
+ loop
+ exit when Ptr > Len;
+ CC := Get_String_Char (Str, Ptr);
+ Ptr := Ptr + 1;
+
+ -- Ignore wide chars ??? else store character
+
+ if In_Character_Range (CC) then
+ C := Get_Character (CC);
+ exit when C = ASCII.LF;
+ Error_Msg_Strlen := Error_Msg_Strlen + 1;
+ Error_Msg_String (Error_Msg_Strlen) := C;
+ end if;
+ end loop;
+
+ -- Here with one line ready to go
+
+ Error_Msg_Warn := Prag_Id = Pragma_Compile_Time_Warning;
+
+ if Cont = False then
+ Error_Msg_N ("<~", Arg1);
+ Cont := True;
+ else
+ Error_Msg_N ("\<~", Arg1);
+ end if;
+
+ exit when Ptr > Len;
+ end loop;
+ end;
+ end if;
+ end if;
+ end Process_Compile_Time_Warning_Or_Error;
+
------------------------
-- Process_Convention --
------------------------
-- Treat a pragma Import as an implicit body, for GPS use
if Prag_Id = Pragma_Import then
- Generate_Reference (E, Id, 'b');
+ Generate_Reference (E, Id, 'b');
end if;
E1 := E;
Set_Is_Public (Def_Id);
Process_Interface_Name (Def_Id, Arg3, Arg4);
+ -- Import a CPP class
+
+ elsif Is_Record_Type (Def_Id)
+ and then C = Convention_CPP
+ then
+ if not Is_Tagged_Type (Def_Id) then
+ Error_Msg_Sloc := Sloc (Def_Id);
+ Error_Pragma_Arg ("imported 'C'P'P type must be tagged", Arg2);
+ else
+ Set_Is_CPP_Class (Def_Id);
+ Set_Is_Limited_Record (Def_Id);
+ end if;
+
else
Error_Pragma_Arg
("second argument of pragma% must be object or subprogram",
-- Processing for this pragma is shared with Psect_Object
+ ------------------------
+ -- Compile_Time_Error --
+ ------------------------
+
+ -- pragma Compile_Time_Error
+ -- (boolean_EXPRESSION, static_string_EXPRESSION);
+
+ when Pragma_Compile_Time_Error =>
+ Process_Compile_Time_Warning_Or_Error;
+
--------------------------
-- Compile_Time_Warning --
--------------------------
-- pragma Compile_Time_Warning
-- (boolean_EXPRESSION, static_string_EXPRESSION);
- when Pragma_Compile_Time_Warning => Compile_Time_Warning : declare
- Arg1x : constant Node_Id := Get_Pragma_Arg (Arg1);
-
- begin
- GNAT_Pragma;
- Check_Arg_Count (2);
- Check_No_Identifiers;
- Check_Arg_Is_Static_Expression (Arg2, Standard_String);
- Analyze_And_Resolve (Arg1x, Standard_Boolean);
-
- if Compile_Time_Known_Value (Arg1x) then
- if Is_True (Expr_Value (Get_Pragma_Arg (Arg1))) then
- declare
- Str : constant String_Id :=
- Strval (Get_Pragma_Arg (Arg2));
- Len : constant Int := String_Length (Str);
- Cont : Boolean;
- Ptr : Nat;
- CC : Char_Code;
- C : Character;
-
- begin
- Cont := False;
- Ptr := 1;
-
- -- Loop through segments of message separated by line
- -- feeds. We output these segments as separate messages
- -- with continuation marks for all but the first.
-
- loop
- Error_Msg_Strlen := 0;
-
- -- Loop to copy characters from argument to error
- -- message string buffer.
-
- loop
- exit when Ptr > Len;
- CC := Get_String_Char (Str, Ptr);
- Ptr := Ptr + 1;
-
- -- Ignore wide chars ??? else store character
-
- if In_Character_Range (CC) then
- C := Get_Character (CC);
- exit when C = ASCII.LF;
- Error_Msg_Strlen := Error_Msg_Strlen + 1;
- Error_Msg_String (Error_Msg_Strlen) := C;
- end if;
- end loop;
-
- -- Here with one line ready to go
-
- if Cont = False then
- Error_Msg_N ("?~", Arg1);
- Cont := True;
- else
- Error_Msg_N ("\?~", Arg1);
- end if;
-
- exit when Ptr > Len;
- end loop;
- end;
- end if;
- end if;
- end Compile_Time_Warning;
+ when Pragma_Compile_Time_Warning =>
+ Process_Compile_Time_Warning_Or_Error;
-----------------------------
-- Complete_Representation --
-- pragma CPP_Class ([Entity =>] local_NAME)
when Pragma_CPP_Class => CPP_Class : declare
- Arg : Node_Id;
- Typ : Entity_Id;
- Default_DTC : Entity_Id := Empty;
- VTP_Type : constant Entity_Id := RTE (RE_Vtable_Ptr);
- C : Entity_Id;
- Tag_C : Entity_Id;
+ Arg : Node_Id;
+ Typ : Entity_Id;
begin
+ if Warn_On_Obsolescent_Feature then
+ Error_Msg_N
+ ("'G'N'A'T pragma cpp'_class is now obsolete; replace it" &
+ " by pragma import?", N);
+ end if;
+
GNAT_Pragma;
Check_Arg_Count (1);
Check_Optional_Identifier (Arg1, Name_Entity);
Typ := Entity (Arg);
- if not Is_Record_Type (Typ) then
- Error_Pragma_Arg ("pragma% applicable to a record, "
- & "tagged record or record extension", Arg1);
- end if;
-
- Default_DTC := First_Component (Typ);
- while Present (Default_DTC)
- and then Etype (Default_DTC) /= VTP_Type
- loop
- Next_Component (Default_DTC);
- end loop;
-
- -- Case of non tagged type
-
if not Is_Tagged_Type (Typ) then
- Set_Is_CPP_Class (Typ);
-
- if Present (Default_DTC) then
- Error_Pragma_Arg
- ("only tagged records can contain vtable pointers", Arg1);
- end if;
-
- -- Case of tagged type with no user-defined vtable ptr. In this
- -- case, because of our C++ ABI compatibility, the programmer
- -- does not need to specify the tag component.
-
- elsif Is_Tagged_Type (Typ)
- and then No (Default_DTC)
- then
- Set_Is_CPP_Class (Typ);
- Set_Is_Limited_Record (Typ);
-
- -- Tagged type that has a vtable ptr
-
- elsif Present (Default_DTC) then
- Set_Is_CPP_Class (Typ);
- Set_Is_Limited_Record (Typ);
- Set_Is_Tag (Default_DTC);
- Set_DT_Entry_Count (Default_DTC, No_Uint);
-
- -- Since a CPP type has no direct link to its associated tag
- -- most tags checks cannot be performed
-
- Set_Kill_Tag_Checks (Typ);
- Set_Kill_Tag_Checks (Class_Wide_Type (Typ));
-
- -- Get rid of the _tag component when there was one.
- -- It is only useful for regular tagged types
-
- if Expander_Active and then Typ = Root_Type (Typ) then
-
- Tag_C := First_Tag_Component (Typ);
- C := First_Entity (Typ);
-
- if C = Tag_C then
- Set_First_Entity (Typ, Next_Entity (Tag_C));
-
- else
- while Next_Entity (C) /= Tag_C loop
- Next_Entity (C);
- end loop;
-
- Set_Next_Entity (C, Next_Entity (Tag_C));
- end if;
- end if;
+ Error_Pragma_Arg ("pragma% applicable to tagged types ", Arg1);
end if;
+
+ Set_Is_CPP_Class (Typ);
+ Set_Is_Limited_Record (Typ);
+ Set_Convention (Typ, Convention_CPP);
end CPP_Class;
---------------------
-- CPP_Constructor --
---------------------
- -- pragma CPP_Constructor ([Entity =>] LOCAL_NAME);
+ -- pragma CPP_Constructor ([Entity =>] LOCAL_NAME
+ -- [, [External_Name =>] static_string_EXPRESSION ]
+ -- [, [Link_Name =>] static_string_EXPRESSION ]);
when Pragma_CPP_Constructor => CPP_Constructor : declare
Id : Entity_Id;
begin
GNAT_Pragma;
- Check_Arg_Count (1);
+ Check_At_Least_N_Arguments (1);
+ Check_At_Most_N_Arguments (3);
Check_Optional_Identifier (Arg1, Name_Entity);
Check_Arg_Is_Local_Name (Arg1);
and then Is_Class_Wide_Type (Etype (Def_Id))
and then Is_CPP_Class (Etype (Etype (Def_Id)))
then
- -- What the heck is this??? this pragma allows only 1 arg
-
if Arg_Count >= 2 then
- Check_At_Most_N_Arguments (3);
+ Set_Imported (Def_Id);
+ Set_Is_Public (Def_Id);
Process_Interface_Name (Def_Id, Arg2, Arg3);
end if;
-- CPP_Virtual --
-----------------
- -- pragma CPP_Virtual
- -- [Entity =>] LOCAL_NAME
- -- [ [Vtable_Ptr =>] LOCAL_NAME,
- -- [Position =>] static_integer_EXPRESSION]);
-
when Pragma_CPP_Virtual => CPP_Virtual : declare
- Arg : Node_Id;
- Typ : Entity_Id;
- Subp : Entity_Id;
- VTP_Type : constant Entity_Id := RTE (RE_Vtable_Ptr);
- DTC : Entity_Id;
- V : Uint;
-
begin
- GNAT_Pragma;
- Check_Arg_Order ((Name_Entity, Name_Vtable_Ptr, Name_Position));
-
- if Arg_Count = 3 then
- Check_Optional_Identifier (Arg2, Name_Vtable_Ptr);
-
- -- We allow Entry_Count as well as Position for the third
- -- parameter for back compatibility with versions of GNAT
- -- before version 3.12. The documentation has always said
- -- Position, but the code up to 3.12 said Entry_Count.
-
- if Chars (Arg3) /= Name_Entry_Count then
- Check_Optional_Identifier (Arg3, Name_Position);
- end if;
-
- else
- Check_Arg_Count (1);
- end if;
-
- Check_Optional_Identifier (Arg1, Name_Entity);
- Check_Arg_Is_Local_Name (Arg1);
-
- -- First argument must be a subprogram name
-
- Arg := Expression (Arg1);
- Find_Program_Unit_Name (Arg);
-
- if Etype (Arg) = Any_Type then
- return;
- else
- Subp := Entity (Arg);
- end if;
-
- if not (Is_Subprogram (Subp)
- and then Is_Dispatching_Operation (Subp))
- then
- Error_Pragma_Arg
- ("pragma% must reference a primitive operation", Arg1);
- end if;
-
- Typ := Find_Dispatching_Type (Subp);
-
- -- If only one Argument defaults are :
- -- . DTC_Entity is the default Vtable pointer
- -- . DT_Position will be set at the freezing point
-
- if Arg_Count = 1 then
- Set_DTC_Entity (Subp, First_Tag_Component (Typ));
- return;
- end if;
-
- -- Second argument is a component name of type Vtable_Ptr
-
- Arg := Expression (Arg2);
-
- if Nkind (Arg) /= N_Identifier then
- Error_Msg_NE ("must be a& component name", Arg, Typ);
- raise Pragma_Exit;
- end if;
-
- DTC := First_Component (Typ);
- while Present (DTC) and then Chars (DTC) /= Chars (Arg) loop
- Next_Component (DTC);
- end loop;
-
- -- Case of tagged type with no user-defined vtable ptr
-
- if No (DTC) then
- Error_Msg_NE ("must be a& component name", Arg, Typ);
- raise Pragma_Exit;
-
- elsif Etype (DTC) /= VTP_Type then
- Wrong_Type (Arg, VTP_Type);
- return;
- end if;
-
- -- Third argument is an integer (DT_Position)
-
- Arg := Expression (Arg3);
- Analyze_And_Resolve (Arg, Any_Integer);
-
- if not Is_Static_Expression (Arg) then
- Flag_Non_Static_Expr
- ("third argument of pragma CPP_Virtual must be static!",
- Arg3);
- raise Pragma_Exit;
-
- else
- V := Expr_Value (Expression (Arg3));
-
- if V <= 0 then
- Error_Pragma_Arg
- ("third argument of pragma% must be positive",
- Arg3);
-
- else
- Set_DTC_Entity (Subp, DTC);
- Set_DT_Position (Subp, V);
- end if;
+ if Warn_On_Obsolescent_Feature then
+ Error_Msg_N
+ ("'G'N'A'T pragma cpp'_virtual is now obsolete and has " &
+ "no effect?", N);
end if;
end CPP_Virtual;
-- CPP_Vtable --
----------------
- -- pragma CPP_Vtable (
- -- [Entity =>] LOCAL_NAME
- -- [Vtable_Ptr =>] LOCAL_NAME,
- -- [Entry_Count =>] static_integer_EXPRESSION);
-
when Pragma_CPP_Vtable => CPP_Vtable : declare
- Arg : Node_Id;
- Typ : Entity_Id;
- VTP_Type : constant Entity_Id := RTE (RE_Vtable_Ptr);
- DTC : Entity_Id;
- V : Uint;
- Elmt : Elmt_Id;
-
begin
- GNAT_Pragma;
- Check_Arg_Order ((Name_Entity, Name_Vtable_Ptr, Name_Entry_Count));
- Check_Arg_Count (3);
- Check_Optional_Identifier (Arg1, Name_Entity);
- Check_Optional_Identifier (Arg2, Name_Vtable_Ptr);
- Check_Optional_Identifier (Arg3, Name_Entry_Count);
- Check_Arg_Is_Local_Name (Arg1);
-
- -- First argument is a record type name
-
- Arg := Expression (Arg1);
- Analyze (Arg);
-
- if Etype (Arg) = Any_Type then
- return;
- else
- Typ := Entity (Arg);
- end if;
-
- if not (Is_Tagged_Type (Typ) and then Is_CPP_Class (Typ)) then
- Error_Pragma_Arg ("'C'P'P_Class tagged type expected", Arg1);
- end if;
-
- -- Second argument is a component name of type Vtable_Ptr
-
- Arg := Expression (Arg2);
-
- if Nkind (Arg) /= N_Identifier then
- Error_Msg_NE ("must be a& component name", Arg, Typ);
- raise Pragma_Exit;
- end if;
-
- DTC := First_Component (Typ);
- while Present (DTC) and then Chars (DTC) /= Chars (Arg) loop
- Next_Component (DTC);
- end loop;
-
- if No (DTC) then
- Error_Msg_NE ("must be a& component name", Arg, Typ);
- raise Pragma_Exit;
-
- elsif Etype (DTC) /= VTP_Type then
- Wrong_Type (DTC, VTP_Type);
- return;
-
- -- If it is the first pragma Vtable, This becomes the default tag
-
- elsif (not Is_Tag (DTC))
- and then DT_Entry_Count (First_Tag_Component (Typ)) = No_Uint
- then
- Set_Is_Tag (First_Tag_Component (Typ), False);
- Set_Is_Tag (DTC, True);
- Set_DT_Entry_Count (DTC, No_Uint);
- end if;
-
- -- Those pragmas must appear before any primitive operation
- -- definition (except inherited ones) otherwise the default
- -- may be wrong
-
- Elmt := First_Elmt (Primitive_Operations (Typ));
- while Present (Elmt) loop
- if No (Alias (Node (Elmt))) then
- Error_Msg_Sloc := Sloc (Node (Elmt));
- Error_Pragma
- ("pragma% must appear before this primitive operation");
- end if;
-
- Next_Elmt (Elmt);
- end loop;
-
- -- Third argument is an integer (DT_Entry_Count)
-
- Arg := Expression (Arg3);
- Analyze_And_Resolve (Arg, Any_Integer);
-
- if not Is_Static_Expression (Arg) then
- Flag_Non_Static_Expr
- ("entry count for pragma CPP_Vtable must be a static " &
- "expression!", Arg3);
- raise Pragma_Exit;
-
- else
- V := Expr_Value (Expression (Arg3));
-
- if V <= 0 then
- Error_Pragma_Arg
- ("entry count for pragma% must be positive", Arg3);
- else
- Set_DT_Entry_Count (DTC, V);
- end if;
+ if Warn_On_Obsolescent_Feature then
+ Error_Msg_N
+ ("'G'N'A'T pragma cpp'_vtable is now obsolete and has " &
+ "no effect?", N);
end if;
end CPP_Vtable;
if Chars (Expression (Arg1)) = Name_On then
Extensions_Allowed := True;
- Ada_Version := Ada_Version_Type'Last;
else
Extensions_Allowed := False;
- Ada_Version := Ada_Version_Type'Min (Ada_Version, Ada_95);
end if;
- Ada_Version_Explicit := Ada_Version;
-
--------------
-- External --
--------------
-- java.lang.Object.Typ and that all primitives of the type
-- should be declared abstract. ???
- if not Is_Tagged_Type (Typ) or else not Is_Abstract (Typ) then
+ if not Is_Tagged_Type (Typ) or else not Is_Abstract_Type (Typ) then
Error_Pragma_Arg ("pragma% requires an abstract "
& "tagged type", Arg1);
end if;
Set_Main_Priority
- (Current_Sem_Unit, UI_To_Int (Expr_Value (Arg)));
+ (Current_Sem_Unit, UI_To_Int (Expr_Value (Arg)));
+
+ -- Load an arbitrary entity from System.Tasking to make sure
+ -- this package is implicitly with'ed, since we need to have
+ -- the tasking run-time active for the pragma Priority to have
+ -- any effect.
+
+ declare
+ Discard : Entity_Id;
+ pragma Warnings (Off, Discard);
+ begin
+ Discard := RTE (RE_Task_List);
+ end;
-- Task or Protected, must be of type Integer
Get_Name_String (Chars (Cunitent));
Set_Casing (Mixed_Case);
Write_Str (Name_Buffer (1 .. Name_Len));
- Write_Str (" is not implemented");
+ Write_Str (" is not supported in this configuration");
Write_Eol;
raise Unrecoverable_Error;
end if;
end if;
end Unreferenced;
+ --------------------------
+ -- Unreferenced_Objects --
+ --------------------------
+
+ -- pragma Unreferenced_Objects (local_Name {, local_Name});
+
+ when Pragma_Unreferenced_Objects => Unreferenced_Objects : declare
+ Arg_Node : Node_Id;
+ Arg_Expr : Node_Id;
+
+ begin
+ GNAT_Pragma;
+ Check_At_Least_N_Arguments (1);
+
+ Arg_Node := Arg1;
+ while Present (Arg_Node) loop
+ Check_No_Identifier (Arg_Node);
+ Check_Arg_Is_Local_Name (Arg_Node);
+ Arg_Expr := Get_Pragma_Arg (Arg_Node);
+
+ if not Is_Entity_Name (Arg_Expr)
+ or else not Is_Type (Entity (Arg_Expr))
+ then
+ Error_Pragma_Arg
+ ("argument for pragma% must be type or subtype", Arg_Node);
+ end if;
+
+ Set_Has_Pragma_Unreferenced_Objects (Entity (Arg_Expr));
+ Next (Arg_Node);
+ end loop;
+ end Unreferenced_Objects;
+
------------------------------
-- Unreserve_All_Interrupts --
------------------------------
declare
Lit : constant Node_Id := Expr_Value_S (Argx);
Str : constant String_Id := Strval (Lit);
+ Len : constant Nat := String_Length (Str);
C : Char_Code;
+ J : Nat;
+ OK : Boolean;
+ Chr : Character;
begin
- for J in 1 .. String_Length (Str) loop
+ J := 1;
+ while J <= Len loop
C := Get_String_Char (Str, J);
+ OK := In_Character_Range (C);
- if In_Character_Range (C)
- and then Set_Warning_Switch (Get_Character (C))
- then
- null;
- else
+ if OK then
+ Chr := Get_Character (C);
+
+ -- Dot case
+
+ if J < Len and then Chr = '.' then
+ J := J + 1;
+ C := Get_String_Char (Str, J);
+ Chr := Get_Character (C);
+
+ if not Set_Dot_Warning_Switch (Chr) then
+ Error_Pragma_Arg
+ ("invalid warning switch character " &
+ '.' & Chr, Arg1);
+ end if;
+
+ -- Non-Dot case
+
+ else
+ OK := Set_Warning_Switch (Chr);
+ end if;
+ end if;
+
+ if not OK then
Error_Pragma_Arg
- ("invalid warning switch character", Arg1);
+ ("invalid warning switch character " & Chr,
+ Arg1);
end if;
+
+ J := J + 1;
end loop;
end;
end if;
if Is_Configuration_Pragma then
if Chars (Argx) = Name_On then
Error_Pragma
- ("pragma Warnings (Off, string) cannot be " &
+ ("pragma Warnings (On, string) cannot be " &
"used as configuration pragma");
else
Pragma_C_Pass_By_Copy => 0,
Pragma_Comment => 0,
Pragma_Common_Object => -1,
+ Pragma_Compile_Time_Error => -1,
Pragma_Compile_Time_Warning => -1,
Pragma_Complete_Representation => 0,
Pragma_Complex_Representation => 0,
Pragma_Unimplemented_Unit => -1,
Pragma_Universal_Data => -1,
Pragma_Unreferenced => -1,
+ Pragma_Unreferenced_Objects => -1,
Pragma_Unreserve_All_Interrupts => -1,
Pragma_Unsuppress => 0,
Pragma_Use_VADS_Size => -1,
Name_Partition : constant Name_Id := N + 078;
Name_Partition_Interface : constant Name_Id := N + 079;
Name_Ras : constant Name_Id := N + 080;
- Name_Call : constant Name_Id := N + 081;
+ Name_uCall : constant Name_Id := N + 081;
Name_RCI_Name : constant Name_Id := N + 082;
Name_Receiver : constant Name_Id := N + 083;
Name_Result : constant Name_Id := N + 084;
Name_Ada_2005 : constant Name_Id := N + 117; -- GNAT
Name_Assertion_Policy : constant Name_Id := N + 118; -- Ada 05
Name_C_Pass_By_Copy : constant Name_Id := N + 119; -- GNAT
- Name_Compile_Time_Warning : constant Name_Id := N + 120; -- GNAT
- Name_Component_Alignment : constant Name_Id := N + 121; -- GNAT
- Name_Convention_Identifier : constant Name_Id := N + 122; -- GNAT
- Name_Debug_Policy : constant Name_Id := N + 123; -- GNAT
- Name_Detect_Blocking : constant Name_Id := N + 124; -- Ada 05
- Name_Discard_Names : constant Name_Id := N + 125;
- Name_Elaboration_Checks : constant Name_Id := N + 126; -- GNAT
- Name_Eliminate : constant Name_Id := N + 127; -- GNAT
- Name_Explicit_Overriding : constant Name_Id := N + 128; -- Ada 05
- Name_Extend_System : constant Name_Id := N + 129; -- GNAT
- Name_Extensions_Allowed : constant Name_Id := N + 130; -- GNAT
- Name_External_Name_Casing : constant Name_Id := N + 131; -- GNAT
- Name_Float_Representation : constant Name_Id := N + 132; -- GNAT
- Name_Initialize_Scalars : constant Name_Id := N + 133; -- GNAT
- Name_Interrupt_State : constant Name_Id := N + 134; -- GNAT
- Name_License : constant Name_Id := N + 135; -- GNAT
- Name_Locking_Policy : constant Name_Id := N + 136;
- Name_Long_Float : constant Name_Id := N + 137; -- VMS
- Name_No_Run_Time : constant Name_Id := N + 138; -- GNAT
- Name_No_Strict_Aliasing : constant Name_Id := N + 139; -- GNAT
- Name_Normalize_Scalars : constant Name_Id := N + 140;
- Name_Polling : constant Name_Id := N + 141; -- GNAT
- Name_Persistent_BSS : constant Name_Id := N + 142; -- GNAT
- Name_Priority_Specific_Dispatching : constant Name_Id := N + 143; -- Ada 05
- Name_Profile : constant Name_Id := N + 144; -- Ada 05
- Name_Profile_Warnings : constant Name_Id := N + 145; -- GNAT
- Name_Propagate_Exceptions : constant Name_Id := N + 146; -- GNAT
- Name_Queuing_Policy : constant Name_Id := N + 147;
- Name_Ravenscar : constant Name_Id := N + 148; -- Ada 05
- Name_Restricted_Run_Time : constant Name_Id := N + 149; -- GNAT
- Name_Restrictions : constant Name_Id := N + 150;
- Name_Restriction_Warnings : constant Name_Id := N + 151; -- GNAT
- Name_Reviewable : constant Name_Id := N + 152;
- Name_Source_File_Name : constant Name_Id := N + 153; -- GNAT
- Name_Source_File_Name_Project : constant Name_Id := N + 154; -- GNAT
- Name_Style_Checks : constant Name_Id := N + 155; -- GNAT
- Name_Suppress : constant Name_Id := N + 156;
- Name_Suppress_Exception_Locations : constant Name_Id := N + 157; -- GNAT
- Name_Task_Dispatching_Policy : constant Name_Id := N + 158;
- Name_Universal_Data : constant Name_Id := N + 159; -- AAMP
- Name_Unsuppress : constant Name_Id := N + 160; -- GNAT
- Name_Use_VADS_Size : constant Name_Id := N + 161; -- GNAT
- Name_Validity_Checks : constant Name_Id := N + 162; -- GNAT
- Name_Warnings : constant Name_Id := N + 163; -- GNAT
- Name_Wide_Character_Encoding : constant Name_Id := N + 164; -- GNAT
- Last_Configuration_Pragma_Name : constant Name_Id := N + 164;
+ Name_Compile_Time_Error : constant Name_Id := N + 120; -- GNAT
+ Name_Compile_Time_Warning : constant Name_Id := N + 121; -- GNAT
+ Name_Component_Alignment : constant Name_Id := N + 122; -- GNAT
+ Name_Convention_Identifier : constant Name_Id := N + 123; -- GNAT
+ Name_Debug_Policy : constant Name_Id := N + 124; -- GNAT
+ Name_Detect_Blocking : constant Name_Id := N + 125; -- Ada 05
+ Name_Discard_Names : constant Name_Id := N + 126;
+ Name_Elaboration_Checks : constant Name_Id := N + 127; -- GNAT
+ Name_Eliminate : constant Name_Id := N + 128; -- GNAT
+ Name_Explicit_Overriding : constant Name_Id := N + 129; -- Ada 05
+ Name_Extend_System : constant Name_Id := N + 130; -- GNAT
+ Name_Extensions_Allowed : constant Name_Id := N + 131; -- GNAT
+ Name_External_Name_Casing : constant Name_Id := N + 132; -- GNAT
+ Name_Float_Representation : constant Name_Id := N + 133; -- GNAT
+ Name_Initialize_Scalars : constant Name_Id := N + 134; -- GNAT
+ Name_Interrupt_State : constant Name_Id := N + 135; -- GNAT
+ Name_License : constant Name_Id := N + 136; -- GNAT
+ Name_Locking_Policy : constant Name_Id := N + 137;
+ Name_Long_Float : constant Name_Id := N + 138; -- VMS
+ Name_No_Run_Time : constant Name_Id := N + 139; -- GNAT
+ Name_No_Strict_Aliasing : constant Name_Id := N + 140; -- GNAT
+ Name_Normalize_Scalars : constant Name_Id := N + 141;
+ Name_Polling : constant Name_Id := N + 142; -- GNAT
+ Name_Persistent_BSS : constant Name_Id := N + 143; -- GNAT
+ Name_Priority_Specific_Dispatching : constant Name_Id := N + 144; -- Ada 05
+ Name_Profile : constant Name_Id := N + 145; -- Ada 05
+ Name_Profile_Warnings : constant Name_Id := N + 146; -- GNAT
+ Name_Propagate_Exceptions : constant Name_Id := N + 147; -- GNAT
+ Name_Queuing_Policy : constant Name_Id := N + 148;
+ Name_Ravenscar : constant Name_Id := N + 149; -- Ada 05
+ Name_Restricted_Run_Time : constant Name_Id := N + 150; -- GNAT
+ Name_Restrictions : constant Name_Id := N + 151;
+ Name_Restriction_Warnings : constant Name_Id := N + 152; -- GNAT
+ Name_Reviewable : constant Name_Id := N + 153;
+ Name_Source_File_Name : constant Name_Id := N + 154; -- GNAT
+ Name_Source_File_Name_Project : constant Name_Id := N + 155; -- GNAT
+ Name_Style_Checks : constant Name_Id := N + 156; -- GNAT
+ Name_Suppress : constant Name_Id := N + 157;
+ Name_Suppress_Exception_Locations : constant Name_Id := N + 158; -- GNAT
+ Name_Task_Dispatching_Policy : constant Name_Id := N + 159;
+ Name_Universal_Data : constant Name_Id := N + 160; -- AAMP
+ Name_Unsuppress : constant Name_Id := N + 161; -- GNAT
+ Name_Use_VADS_Size : constant Name_Id := N + 162; -- GNAT
+ Name_Validity_Checks : constant Name_Id := N + 163; -- GNAT
+ Name_Warnings : constant Name_Id := N + 164; -- GNAT
+ Name_Wide_Character_Encoding : constant Name_Id := N + 165; -- GNAT
+ Last_Configuration_Pragma_Name : constant Name_Id := N + 165;
-- Remaining pragma names
- Name_Abort_Defer : constant Name_Id := N + 165; -- GNAT
- Name_All_Calls_Remote : constant Name_Id := N + 166;
- Name_Annotate : constant Name_Id := N + 167; -- GNAT
+ Name_Abort_Defer : constant Name_Id := N + 166; -- GNAT
+ Name_All_Calls_Remote : constant Name_Id := N + 167;
+ Name_Annotate : constant Name_Id := N + 168; -- GNAT
-- Note: AST_Entry is not in this list because its name matches the
-- name of the corresponding attribute. However, it is included in the
-- and Check_Pragma_Id correctly recognize and process Name_AST_Entry.
-- AST_Entry is a VMS specific pragma.
- Name_Assert : constant Name_Id := N + 168; -- Ada 05
- Name_Asynchronous : constant Name_Id := N + 169;
- Name_Atomic : constant Name_Id := N + 170;
- Name_Atomic_Components : constant Name_Id := N + 171;
- Name_Attach_Handler : constant Name_Id := N + 172;
- Name_Comment : constant Name_Id := N + 173; -- GNAT
- Name_Common_Object : constant Name_Id := N + 174; -- GNAT
- Name_Complete_Representation : constant Name_Id := N + 175; -- GNAT
- Name_Complex_Representation : constant Name_Id := N + 176; -- GNAT
- Name_Controlled : constant Name_Id := N + 177;
- Name_Convention : constant Name_Id := N + 178;
- Name_CPP_Class : constant Name_Id := N + 179; -- GNAT
- Name_CPP_Constructor : constant Name_Id := N + 180; -- GNAT
- Name_CPP_Virtual : constant Name_Id := N + 181; -- GNAT
- Name_CPP_Vtable : constant Name_Id := N + 182; -- GNAT
- Name_Debug : constant Name_Id := N + 183; -- GNAT
- Name_Elaborate : constant Name_Id := N + 184; -- Ada 83
- Name_Elaborate_All : constant Name_Id := N + 185;
- Name_Elaborate_Body : constant Name_Id := N + 186;
- Name_Export : constant Name_Id := N + 187;
- Name_Export_Exception : constant Name_Id := N + 188; -- VMS
- Name_Export_Function : constant Name_Id := N + 189; -- GNAT
- Name_Export_Object : constant Name_Id := N + 190; -- GNAT
- Name_Export_Procedure : constant Name_Id := N + 191; -- GNAT
- Name_Export_Value : constant Name_Id := N + 192; -- GNAT
- Name_Export_Valued_Procedure : constant Name_Id := N + 193; -- GNAT
- Name_External : constant Name_Id := N + 194; -- GNAT
- Name_Finalize_Storage_Only : constant Name_Id := N + 195; -- GNAT
- Name_Ident : constant Name_Id := N + 196; -- VMS
- Name_Import : constant Name_Id := N + 197;
- Name_Import_Exception : constant Name_Id := N + 198; -- VMS
- Name_Import_Function : constant Name_Id := N + 199; -- GNAT
- Name_Import_Object : constant Name_Id := N + 200; -- GNAT
- Name_Import_Procedure : constant Name_Id := N + 201; -- GNAT
- Name_Import_Valued_Procedure : constant Name_Id := N + 202; -- GNAT
- Name_Inline : constant Name_Id := N + 203;
- Name_Inline_Always : constant Name_Id := N + 204; -- GNAT
- Name_Inline_Generic : constant Name_Id := N + 205; -- GNAT
- Name_Inspection_Point : constant Name_Id := N + 206;
- Name_Interface_Name : constant Name_Id := N + 207; -- GNAT
- Name_Interrupt_Handler : constant Name_Id := N + 208;
- Name_Interrupt_Priority : constant Name_Id := N + 209;
- Name_Java_Constructor : constant Name_Id := N + 210; -- GNAT
- Name_Java_Interface : constant Name_Id := N + 211; -- GNAT
- Name_Keep_Names : constant Name_Id := N + 212; -- GNAT
- Name_Link_With : constant Name_Id := N + 213; -- GNAT
- Name_Linker_Alias : constant Name_Id := N + 214; -- GNAT
- Name_Linker_Constructor : constant Name_Id := N + 215; -- GNAT
- Name_Linker_Destructor : constant Name_Id := N + 216; -- GNAT
- Name_Linker_Options : constant Name_Id := N + 217;
- Name_Linker_Section : constant Name_Id := N + 218; -- GNAT
- Name_List : constant Name_Id := N + 219;
- Name_Machine_Attribute : constant Name_Id := N + 220; -- GNAT
- Name_Main : constant Name_Id := N + 221; -- GNAT
- Name_Main_Storage : constant Name_Id := N + 222; -- GNAT
- Name_Memory_Size : constant Name_Id := N + 223; -- Ada 83
- Name_No_Return : constant Name_Id := N + 224; -- GNAT
- Name_Obsolescent : constant Name_Id := N + 225; -- GNAT
- Name_Optimize : constant Name_Id := N + 226;
- Name_Optional_Overriding : constant Name_Id := N + 227; -- Ada 05
- Name_Pack : constant Name_Id := N + 228;
- Name_Page : constant Name_Id := N + 229;
- Name_Passive : constant Name_Id := N + 230; -- GNAT
- Name_Preelaborable_Initialization : constant Name_Id := N + 231; -- Ada 05
- Name_Preelaborate : constant Name_Id := N + 232;
- Name_Preelaborate_05 : constant Name_Id := N + 233; -- GNAT
+ Name_Assert : constant Name_Id := N + 169; -- Ada 05
+ Name_Asynchronous : constant Name_Id := N + 170;
+ Name_Atomic : constant Name_Id := N + 171;
+ Name_Atomic_Components : constant Name_Id := N + 172;
+ Name_Attach_Handler : constant Name_Id := N + 173;
+ Name_Comment : constant Name_Id := N + 174; -- GNAT
+ Name_Common_Object : constant Name_Id := N + 175; -- GNAT
+ Name_Complete_Representation : constant Name_Id := N + 176; -- GNAT
+ Name_Complex_Representation : constant Name_Id := N + 177; -- GNAT
+ Name_Controlled : constant Name_Id := N + 178;
+ Name_Convention : constant Name_Id := N + 179;
+ Name_CPP_Class : constant Name_Id := N + 180; -- GNAT
+ Name_CPP_Constructor : constant Name_Id := N + 181; -- GNAT
+ Name_CPP_Virtual : constant Name_Id := N + 182; -- GNAT
+ Name_CPP_Vtable : constant Name_Id := N + 183; -- GNAT
+ Name_Debug : constant Name_Id := N + 184; -- GNAT
+ Name_Elaborate : constant Name_Id := N + 185; -- Ada 83
+ Name_Elaborate_All : constant Name_Id := N + 186;
+ Name_Elaborate_Body : constant Name_Id := N + 187;
+ Name_Export : constant Name_Id := N + 188;
+ Name_Export_Exception : constant Name_Id := N + 189; -- VMS
+ Name_Export_Function : constant Name_Id := N + 190; -- GNAT
+ Name_Export_Object : constant Name_Id := N + 191; -- GNAT
+ Name_Export_Procedure : constant Name_Id := N + 192; -- GNAT
+ Name_Export_Value : constant Name_Id := N + 193; -- GNAT
+ Name_Export_Valued_Procedure : constant Name_Id := N + 194; -- GNAT
+ Name_External : constant Name_Id := N + 195; -- GNAT
+ Name_Finalize_Storage_Only : constant Name_Id := N + 196; -- GNAT
+ Name_Ident : constant Name_Id := N + 197; -- VMS
+ Name_Import : constant Name_Id := N + 198;
+ Name_Import_Exception : constant Name_Id := N + 199; -- VMS
+ Name_Import_Function : constant Name_Id := N + 200; -- GNAT
+ Name_Import_Object : constant Name_Id := N + 201; -- GNAT
+ Name_Import_Procedure : constant Name_Id := N + 202; -- GNAT
+ Name_Import_Valued_Procedure : constant Name_Id := N + 203; -- GNAT
+ Name_Inline : constant Name_Id := N + 204;
+ Name_Inline_Always : constant Name_Id := N + 205; -- GNAT
+ Name_Inline_Generic : constant Name_Id := N + 206; -- GNAT
+ Name_Inspection_Point : constant Name_Id := N + 207;
+ Name_Interface_Name : constant Name_Id := N + 208; -- GNAT
+ Name_Interrupt_Handler : constant Name_Id := N + 209;
+ Name_Interrupt_Priority : constant Name_Id := N + 210;
+ Name_Java_Constructor : constant Name_Id := N + 211; -- GNAT
+ Name_Java_Interface : constant Name_Id := N + 212; -- GNAT
+ Name_Keep_Names : constant Name_Id := N + 213; -- GNAT
+ Name_Link_With : constant Name_Id := N + 214; -- GNAT
+ Name_Linker_Alias : constant Name_Id := N + 215; -- GNAT
+ Name_Linker_Constructor : constant Name_Id := N + 216; -- GNAT
+ Name_Linker_Destructor : constant Name_Id := N + 217; -- GNAT
+ Name_Linker_Options : constant Name_Id := N + 218;
+ Name_Linker_Section : constant Name_Id := N + 219; -- GNAT
+ Name_List : constant Name_Id := N + 220;
+ Name_Machine_Attribute : constant Name_Id := N + 221; -- GNAT
+ Name_Main : constant Name_Id := N + 222; -- GNAT
+ Name_Main_Storage : constant Name_Id := N + 223; -- GNAT
+ Name_Memory_Size : constant Name_Id := N + 224; -- Ada 83
+ Name_No_Return : constant Name_Id := N + 225; -- GNAT
+ Name_Obsolescent : constant Name_Id := N + 226; -- GNAT
+ Name_Optimize : constant Name_Id := N + 227;
+ Name_Optional_Overriding : constant Name_Id := N + 228; -- Ada 05
+ Name_Pack : constant Name_Id := N + 229;
+ Name_Page : constant Name_Id := N + 230;
+ Name_Passive : constant Name_Id := N + 231; -- GNAT
+ Name_Preelaborable_Initialization : constant Name_Id := N + 232; -- Ada 05
+ Name_Preelaborate : constant Name_Id := N + 233;
+ Name_Preelaborate_05 : constant Name_Id := N + 234; -- GNAT
-- Note: Priority is not in this list because its name matches the
-- name of the corresponding attribute. However, it is included in the
-- and Check_Pragma_Id correctly recognize and process Priority.
-- Priority is a standard Ada 95 pragma.
- Name_Psect_Object : constant Name_Id := N + 234; -- VMS
- Name_Pure : constant Name_Id := N + 235;
- Name_Pure_05 : constant Name_Id := N + 236; -- GNAT
- Name_Pure_Function : constant Name_Id := N + 237; -- GNAT
- Name_Remote_Call_Interface : constant Name_Id := N + 238;
- Name_Remote_Types : constant Name_Id := N + 239;
- Name_Share_Generic : constant Name_Id := N + 240; -- GNAT
- Name_Shared : constant Name_Id := N + 241; -- Ada 83
- Name_Shared_Passive : constant Name_Id := N + 242;
+ Name_Psect_Object : constant Name_Id := N + 235; -- VMS
+ Name_Pure : constant Name_Id := N + 236;
+ Name_Pure_05 : constant Name_Id := N + 237; -- GNAT
+ Name_Pure_Function : constant Name_Id := N + 238; -- GNAT
+ Name_Remote_Call_Interface : constant Name_Id := N + 239;
+ Name_Remote_Types : constant Name_Id := N + 240;
+ Name_Share_Generic : constant Name_Id := N + 241; -- GNAT
+ Name_Shared : constant Name_Id := N + 242; -- Ada 83
+ Name_Shared_Passive : constant Name_Id := N + 243;
-- Note: Storage_Size is not in this list because its name matches the
-- name of the corresponding attribute. However, it is included in the
-- 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 + 243; -- GNAT
- Name_Stream_Convert : constant Name_Id := N + 244; -- GNAT
- Name_Subtitle : constant Name_Id := N + 245; -- GNAT
- Name_Suppress_All : constant Name_Id := N + 246; -- GNAT
- Name_Suppress_Debug_Info : constant Name_Id := N + 247; -- GNAT
- Name_Suppress_Initialization : constant Name_Id := N + 248; -- GNAT
- Name_System_Name : constant Name_Id := N + 249; -- Ada 83
- Name_Task_Info : constant Name_Id := N + 250; -- GNAT
- Name_Task_Name : constant Name_Id := N + 251; -- GNAT
- Name_Task_Storage : constant Name_Id := N + 252; -- VMS
- Name_Thread_Body : constant Name_Id := N + 253; -- GNAT
- Name_Time_Slice : constant Name_Id := N + 254; -- GNAT
- Name_Title : constant Name_Id := N + 255; -- GNAT
- Name_Unchecked_Union : constant Name_Id := N + 256; -- GNAT
- Name_Unimplemented_Unit : constant Name_Id := N + 257; -- GNAT
- Name_Unreferenced : constant Name_Id := N + 258; -- GNAT
- Name_Unreserve_All_Interrupts : constant Name_Id := N + 259; -- GNAT
- Name_Volatile : constant Name_Id := N + 260;
- Name_Volatile_Components : constant Name_Id := N + 261;
- Name_Weak_External : constant Name_Id := N + 262; -- GNAT
- Last_Pragma_Name : constant Name_Id := N + 262;
+ Name_Source_Reference : constant Name_Id := N + 244; -- GNAT
+ Name_Stream_Convert : constant Name_Id := N + 245; -- GNAT
+ Name_Subtitle : constant Name_Id := N + 246; -- GNAT
+ Name_Suppress_All : constant Name_Id := N + 247; -- GNAT
+ Name_Suppress_Debug_Info : constant Name_Id := N + 248; -- GNAT
+ Name_Suppress_Initialization : constant Name_Id := N + 249; -- GNAT
+ Name_System_Name : constant Name_Id := N + 250; -- Ada 83
+ Name_Task_Info : constant Name_Id := N + 251; -- GNAT
+ Name_Task_Name : constant Name_Id := N + 252; -- GNAT
+ Name_Task_Storage : constant Name_Id := N + 253; -- VMS
+ Name_Thread_Body : constant Name_Id := N + 254; -- GNAT
+ Name_Time_Slice : constant Name_Id := N + 255; -- GNAT
+ Name_Title : constant Name_Id := N + 256; -- GNAT
+ Name_Unchecked_Union : constant Name_Id := N + 257; -- GNAT
+ Name_Unimplemented_Unit : constant Name_Id := N + 258; -- GNAT
+ Name_Unreferenced : constant Name_Id := N + 259; -- GNAT
+ Name_Unreferenced_Objects : constant Name_Id := N + 260; -- GNAT
+ Name_Unreserve_All_Interrupts : constant Name_Id := N + 261; -- GNAT
+ Name_Volatile : constant Name_Id := N + 262;
+ Name_Volatile_Components : constant Name_Id := N + 263;
+ Name_Weak_External : constant Name_Id := N + 264; -- GNAT
+ Last_Pragma_Name : constant Name_Id := N + 264;
-- Language convention names for pragma Convention/Export/Import/Interface
-- Note that Name_C is not included in this list, since it was already
-- Entry and Protected, this is because these conventions cannot be
-- specified by a pragma.
- First_Convention_Name : constant Name_Id := N + 263;
- Name_Ada : constant Name_Id := N + 263;
- Name_Assembler : constant Name_Id := N + 264;
- Name_COBOL : constant Name_Id := N + 265;
- Name_CPP : constant Name_Id := N + 266;
- Name_Fortran : constant Name_Id := N + 267;
- Name_Intrinsic : constant Name_Id := N + 268;
- Name_Java : constant Name_Id := N + 269;
- Name_Stdcall : constant Name_Id := N + 270;
- Name_Stubbed : constant Name_Id := N + 271;
- Last_Convention_Name : constant Name_Id := N + 271;
+ First_Convention_Name : constant Name_Id := N + 265;
+ Name_Ada : constant Name_Id := N + 265;
+ Name_Assembler : constant Name_Id := N + 266;
+ Name_COBOL : constant Name_Id := N + 267;
+ Name_CPP : constant Name_Id := N + 268;
+ Name_Fortran : constant Name_Id := N + 269;
+ Name_Intrinsic : constant Name_Id := N + 270;
+ Name_Java : constant Name_Id := N + 271;
+ Name_Stdcall : constant Name_Id := N + 272;
+ Name_Stubbed : constant Name_Id := N + 273;
+ Last_Convention_Name : constant Name_Id := N + 273;
-- The following names are preset as synonyms for Assembler
- Name_Asm : constant Name_Id := N + 272;
- Name_Assembly : constant Name_Id := N + 273;
+ Name_Asm : constant Name_Id := N + 274;
+ Name_Assembly : constant Name_Id := N + 275;
-- The following names are preset as synonyms for C
- Name_Default : constant Name_Id := N + 274;
+ Name_Default : constant Name_Id := N + 276;
-- Name_Exernal (previously defined as pragma)
+ -- The following names are preset as synonyms for CPP
+
+ Name_C_Plus_Plus : constant Name_Id := N + 277;
+
-- The following names are present as synonyms for Stdcall
- Name_DLL : constant Name_Id := N + 275;
- Name_Win32 : constant Name_Id := N + 276;
+ Name_DLL : constant Name_Id := N + 278;
+ Name_Win32 : constant Name_Id := N + 279;
-- Other special names used in processing pragmas
- Name_As_Is : constant Name_Id := N + 277;
- Name_Attribute_Name : constant Name_Id := N + 278;
- Name_Body_File_Name : constant Name_Id := N + 279;
- Name_Boolean_Entry_Barriers : constant Name_Id := N + 280;
- Name_Check : constant Name_Id := N + 281;
- Name_Casing : constant Name_Id := N + 282;
- Name_Code : constant Name_Id := N + 283;
- Name_Component : constant Name_Id := N + 284;
- Name_Component_Size_4 : constant Name_Id := N + 285;
- Name_Copy : constant Name_Id := N + 286;
- Name_D_Float : constant Name_Id := N + 287;
- Name_Descriptor : constant Name_Id := N + 288;
- Name_Dot_Replacement : constant Name_Id := N + 289;
- Name_Dynamic : constant Name_Id := N + 290;
- Name_Entity : constant Name_Id := N + 291;
- Name_Entry_Count : constant Name_Id := N + 292;
- Name_External_Name : constant Name_Id := N + 293;
- Name_First_Optional_Parameter : constant Name_Id := N + 294;
- Name_Form : constant Name_Id := N + 295;
- Name_G_Float : constant Name_Id := N + 296;
- Name_Gcc : constant Name_Id := N + 297;
- Name_Gnat : constant Name_Id := N + 298;
- Name_GPL : constant Name_Id := N + 299;
- Name_IEEE_Float : constant Name_Id := N + 300;
- Name_Ignore : constant Name_Id := N + 301;
- Name_Info : constant Name_Id := N + 302;
- Name_Internal : constant Name_Id := N + 303;
- Name_Link_Name : constant Name_Id := N + 304;
- Name_Lowercase : constant Name_Id := N + 305;
- Name_Max_Entry_Queue_Depth : constant Name_Id := N + 306;
- Name_Max_Entry_Queue_Length : constant Name_Id := N + 307;
- Name_Max_Size : constant Name_Id := N + 308;
- Name_Mechanism : constant Name_Id := N + 309;
- Name_Message : constant Name_Id := N + 310;
- Name_Mixedcase : constant Name_Id := N + 311;
- Name_Modified_GPL : constant Name_Id := N + 312;
- Name_Name : constant Name_Id := N + 313;
- Name_NCA : constant Name_Id := N + 314;
- Name_No : constant Name_Id := N + 315;
- Name_No_Dependence : constant Name_Id := N + 316;
- Name_No_Dynamic_Attachment : constant Name_Id := N + 317;
- Name_No_Dynamic_Interrupts : constant Name_Id := N + 318;
- Name_No_Requeue : constant Name_Id := N + 319;
- Name_No_Requeue_Statements : constant Name_Id := N + 320;
- Name_No_Task_Attributes : constant Name_Id := N + 321;
- Name_No_Task_Attributes_Package : constant Name_Id := N + 322;
- Name_On : constant Name_Id := N + 323;
- Name_Parameter_Types : constant Name_Id := N + 324;
- Name_Reference : constant Name_Id := N + 325;
- Name_Restricted : constant Name_Id := N + 326;
- Name_Result_Mechanism : constant Name_Id := N + 327;
- Name_Result_Type : constant Name_Id := N + 328;
- Name_Runtime : constant Name_Id := N + 329;
- Name_SB : constant Name_Id := N + 330;
- Name_Secondary_Stack_Size : constant Name_Id := N + 331;
- Name_Section : constant Name_Id := N + 332;
- Name_Semaphore : constant Name_Id := N + 333;
- Name_Simple_Barriers : constant Name_Id := N + 334;
- Name_Spec_File_Name : constant Name_Id := N + 335;
- Name_State : constant Name_Id := N + 336;
- Name_Static : constant Name_Id := N + 337;
- Name_Stack_Size : constant Name_Id := N + 338;
- Name_Subunit_File_Name : constant Name_Id := N + 339;
- Name_Task_Stack_Size_Default : constant Name_Id := N + 340;
- Name_Task_Type : constant Name_Id := N + 341;
- Name_Time_Slicing_Enabled : constant Name_Id := N + 342;
- Name_Top_Guard : constant Name_Id := N + 343;
- Name_UBA : constant Name_Id := N + 344;
- Name_UBS : constant Name_Id := N + 345;
- Name_UBSB : constant Name_Id := N + 346;
- Name_Unit_Name : constant Name_Id := N + 347;
- Name_Unknown : constant Name_Id := N + 348;
- Name_Unrestricted : constant Name_Id := N + 349;
- Name_Uppercase : constant Name_Id := N + 350;
- Name_User : constant Name_Id := N + 351;
- Name_VAX_Float : constant Name_Id := N + 352;
- Name_VMS : constant Name_Id := N + 353;
- Name_Vtable_Ptr : constant Name_Id := N + 354;
- Name_Working_Storage : constant Name_Id := N + 355;
+ Name_As_Is : constant Name_Id := N + 280;
+ Name_Attribute_Name : constant Name_Id := N + 281;
+ Name_Body_File_Name : constant Name_Id := N + 282;
+ Name_Boolean_Entry_Barriers : constant Name_Id := N + 283;
+ Name_Check : constant Name_Id := N + 284;
+ Name_Casing : constant Name_Id := N + 285;
+ Name_Code : constant Name_Id := N + 286;
+ Name_Component : constant Name_Id := N + 287;
+ Name_Component_Size_4 : constant Name_Id := N + 288;
+ Name_Copy : constant Name_Id := N + 289;
+ Name_D_Float : constant Name_Id := N + 290;
+ Name_Descriptor : constant Name_Id := N + 291;
+ Name_Dot_Replacement : constant Name_Id := N + 292;
+ Name_Dynamic : constant Name_Id := N + 293;
+ Name_Entity : constant Name_Id := N + 294;
+ Name_Entry_Count : constant Name_Id := N + 295;
+ Name_External_Name : constant Name_Id := N + 296;
+ Name_First_Optional_Parameter : constant Name_Id := N + 297;
+ Name_Form : constant Name_Id := N + 298;
+ Name_G_Float : constant Name_Id := N + 299;
+ Name_Gcc : constant Name_Id := N + 300;
+ Name_Gnat : constant Name_Id := N + 301;
+ Name_GPL : constant Name_Id := N + 302;
+ Name_IEEE_Float : constant Name_Id := N + 303;
+ Name_Ignore : constant Name_Id := N + 304;
+ Name_Info : constant Name_Id := N + 305;
+ Name_Internal : constant Name_Id := N + 306;
+ Name_Link_Name : constant Name_Id := N + 307;
+ Name_Lowercase : constant Name_Id := N + 308;
+ Name_Max_Entry_Queue_Depth : constant Name_Id := N + 309;
+ Name_Max_Entry_Queue_Length : constant Name_Id := N + 310;
+ Name_Max_Size : constant Name_Id := N + 311;
+ Name_Mechanism : constant Name_Id := N + 312;
+ Name_Message : constant Name_Id := N + 313;
+ Name_Mixedcase : constant Name_Id := N + 314;
+ Name_Modified_GPL : constant Name_Id := N + 315;
+ Name_Name : constant Name_Id := N + 316;
+ Name_NCA : constant Name_Id := N + 317;
+ Name_No : constant Name_Id := N + 318;
+ Name_No_Dependence : constant Name_Id := N + 319;
+ Name_No_Dynamic_Attachment : constant Name_Id := N + 320;
+ Name_No_Dynamic_Interrupts : constant Name_Id := N + 321;
+ Name_No_Requeue : constant Name_Id := N + 322;
+ Name_No_Requeue_Statements : constant Name_Id := N + 323;
+ Name_No_Task_Attributes : constant Name_Id := N + 324;
+ Name_No_Task_Attributes_Package : constant Name_Id := N + 325;
+ Name_On : constant Name_Id := N + 326;
+ Name_Parameter_Types : constant Name_Id := N + 327;
+ Name_Reference : constant Name_Id := N + 328;
+ Name_Restricted : constant Name_Id := N + 329;
+ Name_Result_Mechanism : constant Name_Id := N + 330;
+ Name_Result_Type : constant Name_Id := N + 331;
+ Name_Runtime : constant Name_Id := N + 332;
+ Name_SB : constant Name_Id := N + 333;
+ Name_Secondary_Stack_Size : constant Name_Id := N + 334;
+ Name_Section : constant Name_Id := N + 335;
+ Name_Semaphore : constant Name_Id := N + 336;
+ Name_Simple_Barriers : constant Name_Id := N + 337;
+ Name_Spec_File_Name : constant Name_Id := N + 338;
+ Name_State : constant Name_Id := N + 339;
+ Name_Static : constant Name_Id := N + 340;
+ Name_Stack_Size : constant Name_Id := N + 341;
+ Name_Subunit_File_Name : constant Name_Id := N + 342;
+ Name_Task_Stack_Size_Default : constant Name_Id := N + 343;
+ Name_Task_Type : constant Name_Id := N + 344;
+ Name_Time_Slicing_Enabled : constant Name_Id := N + 345;
+ Name_Top_Guard : constant Name_Id := N + 346;
+ Name_UBA : constant Name_Id := N + 347;
+ Name_UBS : constant Name_Id := N + 348;
+ Name_UBSB : constant Name_Id := N + 349;
+ Name_Unit_Name : constant Name_Id := N + 350;
+ Name_Unknown : constant Name_Id := N + 351;
+ Name_Unrestricted : constant Name_Id := N + 352;
+ Name_Uppercase : constant Name_Id := N + 353;
+ Name_User : constant Name_Id := N + 354;
+ Name_VAX_Float : constant Name_Id := N + 355;
+ Name_VMS : constant Name_Id := N + 356;
+ Name_Vtable_Ptr : constant Name_Id := N + 357;
+ Name_Working_Storage : constant Name_Id := N + 358;
-- 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
-- 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 + 356;
- Name_Abort_Signal : constant Name_Id := N + 356; -- GNAT
- Name_Access : constant Name_Id := N + 357;
- Name_Address : constant Name_Id := N + 358;
- Name_Address_Size : constant Name_Id := N + 359; -- GNAT
- Name_Aft : constant Name_Id := N + 360;
- Name_Alignment : constant Name_Id := N + 361;
- Name_Asm_Input : constant Name_Id := N + 362; -- GNAT
- Name_Asm_Output : constant Name_Id := N + 363; -- GNAT
- Name_AST_Entry : constant Name_Id := N + 364; -- VMS
- Name_Bit : constant Name_Id := N + 365; -- GNAT
- Name_Bit_Order : constant Name_Id := N + 366;
- Name_Bit_Position : constant Name_Id := N + 367; -- GNAT
- Name_Body_Version : constant Name_Id := N + 368;
- Name_Callable : constant Name_Id := N + 369;
- Name_Caller : constant Name_Id := N + 370;
- Name_Code_Address : constant Name_Id := N + 371; -- GNAT
- Name_Component_Size : constant Name_Id := N + 372;
- Name_Compose : constant Name_Id := N + 373;
- Name_Constrained : constant Name_Id := N + 374;
- Name_Count : constant Name_Id := N + 375;
- Name_Default_Bit_Order : constant Name_Id := N + 376; -- GNAT
- Name_Definite : constant Name_Id := N + 377;
- Name_Delta : constant Name_Id := N + 378;
- Name_Denorm : constant Name_Id := N + 379;
- Name_Digits : constant Name_Id := N + 380;
- Name_Elaborated : constant Name_Id := N + 381; -- GNAT
- Name_Emax : constant Name_Id := N + 382; -- Ada 83
- Name_Enum_Rep : constant Name_Id := N + 383; -- GNAT
- Name_Epsilon : constant Name_Id := N + 384; -- Ada 83
- Name_Exponent : constant Name_Id := N + 385;
- Name_External_Tag : constant Name_Id := N + 386;
- Name_First : constant Name_Id := N + 387;
- Name_First_Bit : constant Name_Id := N + 388;
- Name_Fixed_Value : constant Name_Id := N + 389; -- GNAT
- Name_Fore : constant Name_Id := N + 390;
- Name_Has_Access_Values : constant Name_Id := N + 391; -- GNAT
- Name_Has_Discriminants : constant Name_Id := N + 392; -- GNAT
- Name_Identity : constant Name_Id := N + 393;
- Name_Img : constant Name_Id := N + 394; -- GNAT
- Name_Integer_Value : constant Name_Id := N + 395; -- GNAT
- Name_Large : constant Name_Id := N + 396; -- Ada 83
- Name_Last : constant Name_Id := N + 397;
- Name_Last_Bit : constant Name_Id := N + 398;
- Name_Leading_Part : constant Name_Id := N + 399;
- Name_Length : constant Name_Id := N + 400;
- Name_Machine_Emax : constant Name_Id := N + 401;
- Name_Machine_Emin : constant Name_Id := N + 402;
- Name_Machine_Mantissa : constant Name_Id := N + 403;
- Name_Machine_Overflows : constant Name_Id := N + 404;
- Name_Machine_Radix : constant Name_Id := N + 405;
- Name_Machine_Rounding : constant Name_Id := N + 406; -- Ada 05
- Name_Machine_Rounds : constant Name_Id := N + 407;
- Name_Machine_Size : constant Name_Id := N + 408; -- GNAT
- Name_Mantissa : constant Name_Id := N + 409; -- Ada 83
- Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 410;
- Name_Maximum_Alignment : constant Name_Id := N + 411; -- GNAT
- Name_Mechanism_Code : constant Name_Id := N + 412; -- GNAT
- Name_Mod : constant Name_Id := N + 413;
- Name_Model_Emin : constant Name_Id := N + 414;
- Name_Model_Epsilon : constant Name_Id := N + 415;
- Name_Model_Mantissa : constant Name_Id := N + 416;
- Name_Model_Small : constant Name_Id := N + 417;
- Name_Modulus : constant Name_Id := N + 418;
- Name_Null_Parameter : constant Name_Id := N + 419; -- GNAT
- Name_Object_Size : constant Name_Id := N + 420; -- GNAT
- Name_Partition_ID : constant Name_Id := N + 421;
- Name_Passed_By_Reference : constant Name_Id := N + 422; -- GNAT
- Name_Pool_Address : constant Name_Id := N + 423;
- Name_Pos : constant Name_Id := N + 424;
- Name_Position : constant Name_Id := N + 425;
- Name_Priority : constant Name_Id := N + 426; -- Ada 05
- Name_Range : constant Name_Id := N + 427;
- Name_Range_Length : constant Name_Id := N + 428; -- GNAT
- Name_Round : constant Name_Id := N + 429;
- Name_Safe_Emax : constant Name_Id := N + 430; -- Ada 83
- Name_Safe_First : constant Name_Id := N + 431;
- Name_Safe_Large : constant Name_Id := N + 432; -- Ada 83
- Name_Safe_Last : constant Name_Id := N + 433;
- Name_Safe_Small : constant Name_Id := N + 434; -- Ada 83
- Name_Scale : constant Name_Id := N + 435;
- Name_Scaling : constant Name_Id := N + 436;
- Name_Signed_Zeros : constant Name_Id := N + 437;
- Name_Size : constant Name_Id := N + 438;
- Name_Small : constant Name_Id := N + 439;
- Name_Storage_Size : constant Name_Id := N + 440;
- Name_Storage_Unit : constant Name_Id := N + 441; -- GNAT
- Name_Stream_Size : constant Name_Id := N + 442; -- Ada 05
- Name_Tag : constant Name_Id := N + 443;
- Name_Target_Name : constant Name_Id := N + 444; -- GNAT
- Name_Terminated : constant Name_Id := N + 445;
- Name_To_Address : constant Name_Id := N + 446; -- GNAT
- Name_Type_Class : constant Name_Id := N + 447; -- GNAT
- Name_UET_Address : constant Name_Id := N + 448; -- GNAT
- Name_Unbiased_Rounding : constant Name_Id := N + 449;
- Name_Unchecked_Access : constant Name_Id := N + 450;
- Name_Unconstrained_Array : constant Name_Id := N + 451;
- Name_Universal_Literal_String : constant Name_Id := N + 452; -- GNAT
- Name_Unrestricted_Access : constant Name_Id := N + 453; -- GNAT
- Name_VADS_Size : constant Name_Id := N + 454; -- GNAT
- Name_Val : constant Name_Id := N + 455;
- Name_Valid : constant Name_Id := N + 456;
- Name_Value_Size : constant Name_Id := N + 457; -- GNAT
- Name_Version : constant Name_Id := N + 458;
- Name_Wchar_T_Size : constant Name_Id := N + 459; -- GNAT
- Name_Wide_Wide_Width : constant Name_Id := N + 460; -- Ada 05
- Name_Wide_Width : constant Name_Id := N + 461;
- Name_Width : constant Name_Id := N + 462;
- Name_Word_Size : constant Name_Id := N + 463; -- GNAT
+ First_Attribute_Name : constant Name_Id := N + 359;
+ Name_Abort_Signal : constant Name_Id := N + 359; -- GNAT
+ Name_Access : constant Name_Id := N + 360;
+ Name_Address : constant Name_Id := N + 361;
+ Name_Address_Size : constant Name_Id := N + 362; -- GNAT
+ Name_Aft : constant Name_Id := N + 363;
+ Name_Alignment : constant Name_Id := N + 364;
+ Name_Asm_Input : constant Name_Id := N + 365; -- GNAT
+ Name_Asm_Output : constant Name_Id := N + 366; -- GNAT
+ Name_AST_Entry : constant Name_Id := N + 367; -- VMS
+ Name_Bit : constant Name_Id := N + 368; -- GNAT
+ Name_Bit_Order : constant Name_Id := N + 369;
+ Name_Bit_Position : constant Name_Id := N + 370; -- GNAT
+ Name_Body_Version : constant Name_Id := N + 371;
+ Name_Callable : constant Name_Id := N + 372;
+ Name_Caller : constant Name_Id := N + 373;
+ Name_Code_Address : constant Name_Id := N + 374; -- GNAT
+ Name_Component_Size : constant Name_Id := N + 375;
+ Name_Compose : constant Name_Id := N + 376;
+ Name_Constrained : constant Name_Id := N + 377;
+ Name_Count : constant Name_Id := N + 378;
+ Name_Default_Bit_Order : constant Name_Id := N + 379; -- GNAT
+ Name_Definite : constant Name_Id := N + 380;
+ Name_Delta : constant Name_Id := N + 381;
+ Name_Denorm : constant Name_Id := N + 382;
+ Name_Digits : constant Name_Id := N + 383;
+ Name_Elaborated : constant Name_Id := N + 384; -- GNAT
+ Name_Emax : constant Name_Id := N + 385; -- Ada 83
+ Name_Enum_Rep : constant Name_Id := N + 386; -- GNAT
+ Name_Epsilon : constant Name_Id := N + 387; -- Ada 83
+ Name_Exponent : constant Name_Id := N + 388;
+ Name_External_Tag : constant Name_Id := N + 389;
+ Name_First : constant Name_Id := N + 390;
+ Name_First_Bit : constant Name_Id := N + 391;
+ Name_Fixed_Value : constant Name_Id := N + 392; -- GNAT
+ Name_Fore : constant Name_Id := N + 393;
+ Name_Has_Access_Values : constant Name_Id := N + 394; -- GNAT
+ Name_Has_Discriminants : constant Name_Id := N + 395; -- GNAT
+ Name_Identity : constant Name_Id := N + 396;
+ Name_Img : constant Name_Id := N + 397; -- GNAT
+ Name_Integer_Value : constant Name_Id := N + 398; -- GNAT
+ Name_Large : constant Name_Id := N + 399; -- Ada 83
+ Name_Last : constant Name_Id := N + 400;
+ Name_Last_Bit : constant Name_Id := N + 401;
+ Name_Leading_Part : constant Name_Id := N + 402;
+ Name_Length : constant Name_Id := N + 403;
+ Name_Machine_Emax : constant Name_Id := N + 404;
+ Name_Machine_Emin : constant Name_Id := N + 405;
+ Name_Machine_Mantissa : constant Name_Id := N + 406;
+ Name_Machine_Overflows : constant Name_Id := N + 407;
+ Name_Machine_Radix : constant Name_Id := N + 408;
+ Name_Machine_Rounding : constant Name_Id := N + 409; -- Ada 05
+ Name_Machine_Rounds : constant Name_Id := N + 410;
+ Name_Machine_Size : constant Name_Id := N + 411; -- GNAT
+ Name_Mantissa : constant Name_Id := N + 412; -- Ada 83
+ Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 413;
+ Name_Maximum_Alignment : constant Name_Id := N + 414; -- GNAT
+ Name_Mechanism_Code : constant Name_Id := N + 415; -- GNAT
+ Name_Mod : constant Name_Id := N + 416;
+ Name_Model_Emin : constant Name_Id := N + 417;
+ Name_Model_Epsilon : constant Name_Id := N + 418;
+ Name_Model_Mantissa : constant Name_Id := N + 419;
+ Name_Model_Small : constant Name_Id := N + 420;
+ Name_Modulus : constant Name_Id := N + 421;
+ Name_Null_Parameter : constant Name_Id := N + 422; -- GNAT
+ Name_Object_Size : constant Name_Id := N + 423; -- GNAT
+ Name_Partition_ID : constant Name_Id := N + 424;
+ Name_Passed_By_Reference : constant Name_Id := N + 425; -- GNAT
+ Name_Pool_Address : constant Name_Id := N + 426;
+ Name_Pos : constant Name_Id := N + 427;
+ Name_Position : constant Name_Id := N + 428;
+ Name_Priority : constant Name_Id := N + 429; -- Ada 05
+ Name_Range : constant Name_Id := N + 430;
+ Name_Range_Length : constant Name_Id := N + 431; -- GNAT
+ Name_Round : constant Name_Id := N + 432;
+ Name_Safe_Emax : constant Name_Id := N + 433; -- Ada 83
+ Name_Safe_First : constant Name_Id := N + 434;
+ Name_Safe_Large : constant Name_Id := N + 435; -- Ada 83
+ Name_Safe_Last : constant Name_Id := N + 436;
+ Name_Safe_Small : constant Name_Id := N + 437; -- Ada 83
+ Name_Scale : constant Name_Id := N + 438;
+ Name_Scaling : constant Name_Id := N + 439;
+ Name_Signed_Zeros : constant Name_Id := N + 440;
+ Name_Size : constant Name_Id := N + 441;
+ Name_Small : constant Name_Id := N + 442;
+ Name_Storage_Size : constant Name_Id := N + 443;
+ Name_Storage_Unit : constant Name_Id := N + 444; -- GNAT
+ Name_Stream_Size : constant Name_Id := N + 445; -- Ada 05
+ Name_Tag : constant Name_Id := N + 446;
+ Name_Target_Name : constant Name_Id := N + 447; -- GNAT
+ Name_Terminated : constant Name_Id := N + 448;
+ Name_To_Address : constant Name_Id := N + 449; -- GNAT
+ Name_Type_Class : constant Name_Id := N + 450; -- GNAT
+ Name_UET_Address : constant Name_Id := N + 451; -- GNAT
+ Name_Unbiased_Rounding : constant Name_Id := N + 452;
+ Name_Unchecked_Access : constant Name_Id := N + 453;
+ Name_Unconstrained_Array : constant Name_Id := N + 454;
+ Name_Universal_Literal_String : constant Name_Id := N + 455; -- GNAT
+ Name_Unrestricted_Access : constant Name_Id := N + 456; -- GNAT
+ Name_VADS_Size : constant Name_Id := N + 457; -- GNAT
+ Name_Val : constant Name_Id := N + 458;
+ Name_Valid : constant Name_Id := N + 459;
+ Name_Value_Size : constant Name_Id := N + 460; -- GNAT
+ Name_Version : constant Name_Id := N + 461;
+ Name_Wchar_T_Size : constant Name_Id := N + 462; -- GNAT
+ Name_Wide_Wide_Width : constant Name_Id := N + 463; -- Ada 05
+ Name_Wide_Width : constant Name_Id := N + 464;
+ Name_Width : constant Name_Id := N + 465;
+ Name_Word_Size : constant Name_Id := N + 466; -- 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 + 464;
- Name_Adjacent : constant Name_Id := N + 464;
- Name_Ceiling : constant Name_Id := N + 465;
- Name_Copy_Sign : constant Name_Id := N + 466;
- Name_Floor : constant Name_Id := N + 467;
- Name_Fraction : constant Name_Id := N + 468;
- Name_Image : constant Name_Id := N + 469;
- Name_Input : constant Name_Id := N + 470;
- Name_Machine : constant Name_Id := N + 471;
- Name_Max : constant Name_Id := N + 472;
- Name_Min : constant Name_Id := N + 473;
- Name_Model : constant Name_Id := N + 474;
- Name_Pred : constant Name_Id := N + 475;
- Name_Remainder : constant Name_Id := N + 476;
- Name_Rounding : constant Name_Id := N + 477;
- Name_Succ : constant Name_Id := N + 478;
- Name_Truncation : constant Name_Id := N + 479;
- Name_Value : constant Name_Id := N + 480;
- Name_Wide_Image : constant Name_Id := N + 481;
- Name_Wide_Wide_Image : constant Name_Id := N + 482;
- Name_Wide_Value : constant Name_Id := N + 483;
- Name_Wide_Wide_Value : constant Name_Id := N + 484;
- Last_Renamable_Function_Attribute : constant Name_Id := N + 484;
+ First_Renamable_Function_Attribute : constant Name_Id := N + 467;
+ Name_Adjacent : constant Name_Id := N + 467;
+ Name_Ceiling : constant Name_Id := N + 468;
+ Name_Copy_Sign : constant Name_Id := N + 469;
+ Name_Floor : constant Name_Id := N + 470;
+ Name_Fraction : constant Name_Id := N + 471;
+ Name_Image : constant Name_Id := N + 472;
+ Name_Input : constant Name_Id := N + 473;
+ Name_Machine : constant Name_Id := N + 474;
+ Name_Max : constant Name_Id := N + 475;
+ Name_Min : constant Name_Id := N + 476;
+ Name_Model : constant Name_Id := N + 477;
+ Name_Pred : constant Name_Id := N + 478;
+ Name_Remainder : constant Name_Id := N + 479;
+ Name_Rounding : constant Name_Id := N + 480;
+ Name_Succ : constant Name_Id := N + 481;
+ Name_Truncation : constant Name_Id := N + 482;
+ Name_Value : constant Name_Id := N + 483;
+ Name_Wide_Image : constant Name_Id := N + 484;
+ Name_Wide_Wide_Image : constant Name_Id := N + 485;
+ Name_Wide_Value : constant Name_Id := N + 486;
+ Name_Wide_Wide_Value : constant Name_Id := N + 487;
+ Last_Renamable_Function_Attribute : constant Name_Id := N + 487;
-- Attributes that designate procedures
- First_Procedure_Attribute : constant Name_Id := N + 485;
- Name_Output : constant Name_Id := N + 485;
- Name_Read : constant Name_Id := N + 486;
- Name_Write : constant Name_Id := N + 487;
- Last_Procedure_Attribute : constant Name_Id := N + 487;
+ First_Procedure_Attribute : constant Name_Id := N + 488;
+ Name_Output : constant Name_Id := N + 488;
+ Name_Read : constant Name_Id := N + 489;
+ Name_Write : constant Name_Id := N + 490;
+ Last_Procedure_Attribute : constant Name_Id := N + 490;
-- Remaining attributes are ones that return entities
- First_Entity_Attribute_Name : constant Name_Id := N + 488;
- Name_Elab_Body : constant Name_Id := N + 488; -- GNAT
- Name_Elab_Spec : constant Name_Id := N + 489; -- GNAT
- Name_Storage_Pool : constant Name_Id := N + 490;
+ First_Entity_Attribute_Name : constant Name_Id := N + 491;
+ Name_Elab_Body : constant Name_Id := N + 491; -- GNAT
+ Name_Elab_Spec : constant Name_Id := N + 492; -- GNAT
+ Name_Storage_Pool : constant Name_Id := N + 493;
-- These attributes are the ones that return types
- First_Type_Attribute_Name : constant Name_Id := N + 491;
- Name_Base : constant Name_Id := N + 491;
- Name_Class : constant Name_Id := N + 492;
- Name_Stub_Type : constant Name_Id := N + 493;
- Last_Type_Attribute_Name : constant Name_Id := N + 493;
- Last_Entity_Attribute_Name : constant Name_Id := N + 493;
- Last_Attribute_Name : constant Name_Id := N + 493;
+ First_Type_Attribute_Name : constant Name_Id := N + 494;
+ Name_Base : constant Name_Id := N + 494;
+ Name_Class : constant Name_Id := N + 495;
+ Name_Stub_Type : constant Name_Id := N + 496;
+ Last_Type_Attribute_Name : constant Name_Id := N + 496;
+ Last_Entity_Attribute_Name : constant Name_Id := N + 496;
+ Last_Attribute_Name : constant Name_Id := N + 496;
-- Names of recognized locking policy identifiers
-- 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 + 494;
- Name_Ceiling_Locking : constant Name_Id := N + 494;
- Name_Inheritance_Locking : constant Name_Id := N + 495;
- Last_Locking_Policy_Name : constant Name_Id := N + 495;
+ First_Locking_Policy_Name : constant Name_Id := N + 497;
+ Name_Ceiling_Locking : constant Name_Id := N + 497;
+ Name_Inheritance_Locking : constant Name_Id := N + 498;
+ Last_Locking_Policy_Name : constant Name_Id := N + 498;
-- Names of recognized queuing policy identifiers
-- 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 + 496;
- Name_FIFO_Queuing : constant Name_Id := N + 496;
- Name_Priority_Queuing : constant Name_Id := N + 497;
- Last_Queuing_Policy_Name : constant Name_Id := N + 497;
+ First_Queuing_Policy_Name : constant Name_Id := N + 499;
+ Name_FIFO_Queuing : constant Name_Id := N + 499;
+ Name_Priority_Queuing : constant Name_Id := N + 500;
+ Last_Queuing_Policy_Name : constant Name_Id := N + 500;
-- Names of recognized task dispatching policy identifiers
-- 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 + 498;
- Name_EDF_Across_Priorities : constant Name_Id := N + 498;
- Name_FIFO_Within_Priorities : constant Name_Id := N + 499;
- Name_Non_Preemptive_Within_Priorities : constant Name_Id := N + 500;
- Name_Round_Robin_Within_Priorities : constant Name_Id := N + 501;
- Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 501;
+ First_Task_Dispatching_Policy_Name : constant Name_Id := N + 501;
+ Name_EDF_Across_Priorities : constant Name_Id := N + 501;
+ Name_FIFO_Within_Priorities : constant Name_Id := N + 502;
+ Name_Non_Preemptive_Within_Priorities : constant Name_Id := N + 503;
+ Name_Round_Robin_Within_Priorities : constant Name_Id := N + 504;
+ Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 504;
-- Names of recognized checks for pragma Suppress
- First_Check_Name : constant Name_Id := N + 502;
- Name_Access_Check : constant Name_Id := N + 502;
- Name_Accessibility_Check : constant Name_Id := N + 503;
- Name_Alignment_Check : constant Name_Id := N + 504;
- Name_Discriminant_Check : constant Name_Id := N + 505;
- Name_Division_Check : constant Name_Id := N + 506;
- Name_Elaboration_Check : constant Name_Id := N + 507;
- Name_Index_Check : constant Name_Id := N + 508;
- Name_Length_Check : constant Name_Id := N + 509;
- Name_Overflow_Check : constant Name_Id := N + 510;
- Name_Range_Check : constant Name_Id := N + 511;
- Name_Storage_Check : constant Name_Id := N + 512;
- Name_Tag_Check : constant Name_Id := N + 513;
- Name_Validity_Check : constant Name_Id := N + 514;
- Name_All_Checks : constant Name_Id := N + 515;
- Last_Check_Name : constant Name_Id := N + 515;
+ First_Check_Name : constant Name_Id := N + 505;
+ Name_Access_Check : constant Name_Id := N + 505;
+ Name_Accessibility_Check : constant Name_Id := N + 506;
+ Name_Alignment_Check : constant Name_Id := N + 507;
+ Name_Discriminant_Check : constant Name_Id := N + 508;
+ Name_Division_Check : constant Name_Id := N + 509;
+ Name_Elaboration_Check : constant Name_Id := N + 510;
+ Name_Index_Check : constant Name_Id := N + 511;
+ Name_Length_Check : constant Name_Id := N + 512;
+ Name_Overflow_Check : constant Name_Id := N + 513;
+ Name_Range_Check : constant Name_Id := N + 514;
+ Name_Storage_Check : constant Name_Id := N + 515;
+ Name_Tag_Check : constant Name_Id := N + 516;
+ Name_Validity_Check : constant Name_Id := N + 517;
+ Name_All_Checks : constant Name_Id := N + 518;
+ Last_Check_Name : constant Name_Id := N + 518;
-- Names corresponding to reserved keywords, excluding those already
-- declared in the attribute list (Access, Delta, Digits, Mod, Range).
- Name_Abort : constant Name_Id := N + 516;
- Name_Abs : constant Name_Id := N + 517;
- Name_Accept : constant Name_Id := N + 518;
- Name_And : constant Name_Id := N + 519;
- Name_All : constant Name_Id := N + 520;
- Name_Array : constant Name_Id := N + 521;
- Name_At : constant Name_Id := N + 522;
- Name_Begin : constant Name_Id := N + 523;
- Name_Body : constant Name_Id := N + 524;
- Name_Case : constant Name_Id := N + 525;
- Name_Constant : constant Name_Id := N + 526;
- Name_Declare : constant Name_Id := N + 527;
- Name_Delay : constant Name_Id := N + 528;
- Name_Do : constant Name_Id := N + 529;
- Name_Else : constant Name_Id := N + 530;
- Name_Elsif : constant Name_Id := N + 531;
- Name_End : constant Name_Id := N + 532;
- Name_Entry : constant Name_Id := N + 533;
- Name_Exception : constant Name_Id := N + 534;
- Name_Exit : constant Name_Id := N + 535;
- Name_For : constant Name_Id := N + 536;
- Name_Function : constant Name_Id := N + 537;
- Name_Generic : constant Name_Id := N + 538;
- Name_Goto : constant Name_Id := N + 539;
- Name_If : constant Name_Id := N + 540;
- Name_In : constant Name_Id := N + 541;
- Name_Is : constant Name_Id := N + 542;
- Name_Limited : constant Name_Id := N + 543;
- Name_Loop : constant Name_Id := N + 544;
- Name_New : constant Name_Id := N + 545;
- Name_Not : constant Name_Id := N + 546;
- Name_Null : constant Name_Id := N + 547;
- Name_Of : constant Name_Id := N + 548;
- Name_Or : constant Name_Id := N + 549;
- Name_Others : constant Name_Id := N + 550;
- Name_Out : constant Name_Id := N + 551;
- Name_Package : constant Name_Id := N + 552;
- Name_Pragma : constant Name_Id := N + 553;
- Name_Private : constant Name_Id := N + 554;
- Name_Procedure : constant Name_Id := N + 555;
- Name_Raise : constant Name_Id := N + 556;
- Name_Record : constant Name_Id := N + 557;
- Name_Rem : constant Name_Id := N + 558;
- Name_Renames : constant Name_Id := N + 559;
- Name_Return : constant Name_Id := N + 560;
- Name_Reverse : constant Name_Id := N + 561;
- Name_Select : constant Name_Id := N + 562;
- Name_Separate : constant Name_Id := N + 563;
- Name_Subtype : constant Name_Id := N + 564;
- Name_Task : constant Name_Id := N + 565;
- Name_Terminate : constant Name_Id := N + 566;
- Name_Then : constant Name_Id := N + 567;
- Name_Type : constant Name_Id := N + 568;
- Name_Use : constant Name_Id := N + 569;
- Name_When : constant Name_Id := N + 570;
- Name_While : constant Name_Id := N + 571;
- Name_With : constant Name_Id := N + 572;
- Name_Xor : constant Name_Id := N + 573;
+ Name_Abort : constant Name_Id := N + 519;
+ Name_Abs : constant Name_Id := N + 520;
+ Name_Accept : constant Name_Id := N + 521;
+ Name_And : constant Name_Id := N + 522;
+ Name_All : constant Name_Id := N + 523;
+ Name_Array : constant Name_Id := N + 524;
+ Name_At : constant Name_Id := N + 525;
+ Name_Begin : constant Name_Id := N + 526;
+ Name_Body : constant Name_Id := N + 527;
+ Name_Case : constant Name_Id := N + 528;
+ Name_Constant : constant Name_Id := N + 529;
+ Name_Declare : constant Name_Id := N + 530;
+ Name_Delay : constant Name_Id := N + 531;
+ Name_Do : constant Name_Id := N + 532;
+ Name_Else : constant Name_Id := N + 533;
+ Name_Elsif : constant Name_Id := N + 534;
+ Name_End : constant Name_Id := N + 535;
+ Name_Entry : constant Name_Id := N + 536;
+ Name_Exception : constant Name_Id := N + 537;
+ Name_Exit : constant Name_Id := N + 538;
+ Name_For : constant Name_Id := N + 539;
+ Name_Function : constant Name_Id := N + 540;
+ Name_Generic : constant Name_Id := N + 541;
+ Name_Goto : constant Name_Id := N + 542;
+ Name_If : constant Name_Id := N + 543;
+ Name_In : constant Name_Id := N + 544;
+ Name_Is : constant Name_Id := N + 545;
+ Name_Limited : constant Name_Id := N + 546;
+ Name_Loop : constant Name_Id := N + 547;
+ Name_New : constant Name_Id := N + 548;
+ Name_Not : constant Name_Id := N + 549;
+ Name_Null : constant Name_Id := N + 550;
+ Name_Of : constant Name_Id := N + 551;
+ Name_Or : constant Name_Id := N + 552;
+ Name_Others : constant Name_Id := N + 553;
+ Name_Out : constant Name_Id := N + 554;
+ Name_Package : constant Name_Id := N + 555;
+ Name_Pragma : constant Name_Id := N + 556;
+ Name_Private : constant Name_Id := N + 557;
+ Name_Procedure : constant Name_Id := N + 558;
+ Name_Raise : constant Name_Id := N + 559;
+ Name_Record : constant Name_Id := N + 560;
+ Name_Rem : constant Name_Id := N + 561;
+ Name_Renames : constant Name_Id := N + 562;
+ Name_Return : constant Name_Id := N + 563;
+ Name_Reverse : constant Name_Id := N + 564;
+ Name_Select : constant Name_Id := N + 565;
+ Name_Separate : constant Name_Id := N + 566;
+ Name_Subtype : constant Name_Id := N + 567;
+ Name_Task : constant Name_Id := N + 568;
+ Name_Terminate : constant Name_Id := N + 569;
+ Name_Then : constant Name_Id := N + 570;
+ Name_Type : constant Name_Id := N + 571;
+ Name_Use : constant Name_Id := N + 572;
+ Name_When : constant Name_Id := N + 573;
+ Name_While : constant Name_Id := N + 574;
+ Name_With : constant Name_Id := N + 575;
+ Name_Xor : constant Name_Id := N + 576;
-- 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 + 574;
- Name_Divide : constant Name_Id := N + 574;
- Name_Enclosing_Entity : constant Name_Id := N + 575;
- Name_Exception_Information : constant Name_Id := N + 576;
- Name_Exception_Message : constant Name_Id := N + 577;
- Name_Exception_Name : constant Name_Id := N + 578;
- Name_File : constant Name_Id := N + 579;
- Name_Generic_Dispatching_Constructor : constant Name_Id := N + 580;
- Name_Import_Address : constant Name_Id := N + 581;
- Name_Import_Largest_Value : constant Name_Id := N + 582;
- Name_Import_Value : constant Name_Id := N + 583;
- Name_Is_Negative : constant Name_Id := N + 584;
- Name_Line : constant Name_Id := N + 585;
- Name_Rotate_Left : constant Name_Id := N + 586;
- Name_Rotate_Right : constant Name_Id := N + 587;
- Name_Shift_Left : constant Name_Id := N + 588;
- Name_Shift_Right : constant Name_Id := N + 589;
- Name_Shift_Right_Arithmetic : constant Name_Id := N + 590;
- Name_Source_Location : constant Name_Id := N + 591;
- Name_Unchecked_Conversion : constant Name_Id := N + 592;
- Name_Unchecked_Deallocation : constant Name_Id := N + 593;
- Name_To_Pointer : constant Name_Id := N + 594;
- Last_Intrinsic_Name : constant Name_Id := N + 594;
+ First_Intrinsic_Name : constant Name_Id := N + 577;
+ Name_Divide : constant Name_Id := N + 577;
+ Name_Enclosing_Entity : constant Name_Id := N + 578;
+ Name_Exception_Information : constant Name_Id := N + 579;
+ Name_Exception_Message : constant Name_Id := N + 580;
+ Name_Exception_Name : constant Name_Id := N + 581;
+ Name_File : constant Name_Id := N + 582;
+ Name_Generic_Dispatching_Constructor : constant Name_Id := N + 583;
+ Name_Import_Address : constant Name_Id := N + 584;
+ Name_Import_Largest_Value : constant Name_Id := N + 585;
+ Name_Import_Value : constant Name_Id := N + 586;
+ Name_Is_Negative : constant Name_Id := N + 587;
+ Name_Line : constant Name_Id := N + 588;
+ Name_Rotate_Left : constant Name_Id := N + 589;
+ Name_Rotate_Right : constant Name_Id := N + 590;
+ Name_Shift_Left : constant Name_Id := N + 591;
+ Name_Shift_Right : constant Name_Id := N + 592;
+ Name_Shift_Right_Arithmetic : constant Name_Id := N + 593;
+ Name_Source_Location : constant Name_Id := N + 594;
+ Name_Unchecked_Conversion : constant Name_Id := N + 595;
+ Name_Unchecked_Deallocation : constant Name_Id := N + 596;
+ Name_To_Pointer : constant Name_Id := N + 597;
+ Last_Intrinsic_Name : constant Name_Id := N + 597;
-- Names used in processing intrinsic calls
- Name_Free : constant Name_Id := N + 595;
+ Name_Free : constant Name_Id := N + 598;
-- Reserved words used only in Ada 95
- First_95_Reserved_Word : constant Name_Id := N + 596;
- Name_Abstract : constant Name_Id := N + 596;
- Name_Aliased : constant Name_Id := N + 597;
- Name_Protected : constant Name_Id := N + 598;
- Name_Until : constant Name_Id := N + 599;
- Name_Requeue : constant Name_Id := N + 600;
- Name_Tagged : constant Name_Id := N + 601;
- Last_95_Reserved_Word : constant Name_Id := N + 601;
+ First_95_Reserved_Word : constant Name_Id := N + 599;
+ Name_Abstract : constant Name_Id := N + 599;
+ Name_Aliased : constant Name_Id := N + 600;
+ Name_Protected : constant Name_Id := N + 601;
+ Name_Until : constant Name_Id := N + 602;
+ Name_Requeue : constant Name_Id := N + 603;
+ Name_Tagged : constant Name_Id := N + 604;
+ Last_95_Reserved_Word : constant Name_Id := N + 604;
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 + 602;
+ Name_Raise_Exception : constant Name_Id := N + 605;
-- 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 + 603;
- Name_Archive_Builder : constant Name_Id := N + 604;
- Name_Archive_Indexer : constant Name_Id := N + 605;
- Name_Binder : constant Name_Id := N + 606;
- Name_Binder_Driver : constant Name_Id := N + 607;
- Name_Body_Suffix : constant Name_Id := N + 608;
- Name_Builder : constant Name_Id := N + 609;
- Name_Compiler : constant Name_Id := N + 610;
- Name_Compiler_Driver : constant Name_Id := N + 611;
- Name_Compiler_Kind : constant Name_Id := N + 612;
- Name_Compiler_Pic_Option : constant Name_Id := N + 613;
- Name_Compute_Dependency : constant Name_Id := N + 614;
- Name_Config_Body_File_Name : constant Name_Id := N + 615;
- Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 616;
- Name_Config_File_Switches : constant Name_Id := N + 617;
- Name_Config_File_Unique : constant Name_Id := N + 618;
- Name_Config_Spec_File_Name : constant Name_Id := N + 619;
- Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 620;
- Name_Cross_Reference : constant Name_Id := N + 621;
- Name_Default_Builder_Switches : constant Name_Id := N + 622;
- Name_Default_Global_Compiler_Switches : constant Name_Id := N + 623;
- Name_Default_Language : constant Name_Id := N + 624;
- Name_Default_Linker : constant Name_Id := N + 625;
- Name_Default_Switches : constant Name_Id := N + 626;
- Name_Dependency_File_Kind : constant Name_Id := N + 627;
- Name_Dependency_Option : constant Name_Id := N + 628;
- Name_Exec_Dir : constant Name_Id := N + 629;
- Name_Executable : constant Name_Id := N + 630;
- Name_Executable_Suffix : constant Name_Id := N + 631;
- Name_Extends : constant Name_Id := N + 632;
- Name_Externally_Built : constant Name_Id := N + 633;
- Name_Finder : constant Name_Id := N + 634;
- Name_Global_Compiler_Switches : constant Name_Id := N + 635;
- Name_Global_Configuration_Pragmas : constant Name_Id := N + 636;
- Name_Gnatls : constant Name_Id := N + 637;
- Name_Gnatstub : constant Name_Id := N + 638;
- Name_Implementation : constant Name_Id := N + 639;
- Name_Implementation_Exceptions : constant Name_Id := N + 640;
- Name_Implementation_Suffix : constant Name_Id := N + 641;
- Name_Include_Option : constant Name_Id := N + 642;
- Name_Include_Path : constant Name_Id := N + 643;
- Name_Include_Path_File : constant Name_Id := N + 644;
- Name_Language_Kind : constant Name_Id := N + 645;
- Name_Language_Processing : constant Name_Id := N + 646;
- Name_Languages : constant Name_Id := N + 647;
- Name_Library_Ali_Dir : constant Name_Id := N + 648;
- Name_Library_Dir : constant Name_Id := N + 649;
- Name_Library_Auto_Init : constant Name_Id := N + 650;
- Name_Library_GCC : constant Name_Id := N + 651;
- Name_Library_Interface : constant Name_Id := N + 652;
- Name_Library_Kind : constant Name_Id := N + 653;
- Name_Library_Name : constant Name_Id := N + 654;
- Name_Library_Options : constant Name_Id := N + 655;
- Name_Library_Reference_Symbol_File : constant Name_Id := N + 656;
- Name_Library_Src_Dir : constant Name_Id := N + 657;
- Name_Library_Symbol_File : constant Name_Id := N + 658;
- Name_Library_Symbol_Policy : constant Name_Id := N + 659;
- Name_Library_Version : constant Name_Id := N + 660;
- Name_Linker : constant Name_Id := N + 661;
- Name_Linker_Executable_Option : constant Name_Id := N + 662;
- Name_Linker_Lib_Dir_Option : constant Name_Id := N + 663;
- Name_Linker_Lib_Name_Option : constant Name_Id := N + 664;
- Name_Local_Configuration_Pragmas : constant Name_Id := N + 665;
- Name_Locally_Removed_Files : constant Name_Id := N + 666;
- Name_Mapping_File_Switches : constant Name_Id := N + 667;
- Name_Metrics : constant Name_Id := N + 668;
- Name_Naming : constant Name_Id := N + 669;
- Name_Object_Dir : constant Name_Id := N + 670;
- Name_Pretty_Printer : constant Name_Id := N + 671;
- Name_Project : constant Name_Id := N + 672;
- Name_Roots : constant Name_Id := N + 673;
- Name_Runtime_Project : constant Name_Id := N + 674;
- Name_Separate_Suffix : constant Name_Id := N + 675;
- Name_Source_Dirs : constant Name_Id := N + 676;
- Name_Source_Files : constant Name_Id := N + 677;
- Name_Source_List_File : constant Name_Id := N + 678;
- Name_Spec : constant Name_Id := N + 679;
- Name_Spec_Suffix : constant Name_Id := N + 680;
- Name_Specification : constant Name_Id := N + 681;
- Name_Specification_Exceptions : constant Name_Id := N + 682;
- Name_Specification_Suffix : constant Name_Id := N + 683;
- Name_Switches : constant Name_Id := N + 684;
+ Name_Ada_Roots : constant Name_Id := N + 606;
+ Name_Archive_Builder : constant Name_Id := N + 607;
+ Name_Archive_Indexer : constant Name_Id := N + 608;
+ Name_Archive_Suffix : constant Name_Id := N + 609;
+ Name_Binder : constant Name_Id := N + 610;
+ Name_Binder_Driver : constant Name_Id := N + 611;
+ Name_Body_Suffix : constant Name_Id := N + 612;
+ Name_Builder : constant Name_Id := N + 613;
+ Name_Builder_Switches : constant Name_Id := N + 614;
+ Name_Compiler : constant Name_Id := N + 615;
+ Name_Compiler_Driver : constant Name_Id := N + 616;
+ Name_Compiler_Kind : constant Name_Id := N + 617;
+ Name_Compiler_Minimum_Options : constant Name_Id := N + 618;
+ Name_Compiler_Pic_Option : constant Name_Id := N + 619;
+ Name_Compute_Dependency : constant Name_Id := N + 620;
+ Name_Config_Body_File_Name : constant Name_Id := N + 621;
+ Name_Config_Body_File_Name_Pattern : constant Name_Id := N + 622;
+ Name_Config_File_Switches : constant Name_Id := N + 623;
+ Name_Config_File_Unique : constant Name_Id := N + 624;
+ Name_Config_Spec_File_Name : constant Name_Id := N + 625;
+ Name_Config_Spec_File_Name_Pattern : constant Name_Id := N + 626;
+ Name_Cross_Reference : constant Name_Id := N + 627;
+ Name_Default_Builder_Switches : constant Name_Id := N + 628;
+ Name_Default_Global_Compiler_Switches : constant Name_Id := N + 629;
+ Name_Default_Language : constant Name_Id := N + 630;
+ Name_Default_Linker : constant Name_Id := N + 631;
+ Name_Default_Switches : constant Name_Id := N + 632;
+ Name_Dependency_File_Kind : constant Name_Id := N + 633;
+ Name_Dependency_Option : constant Name_Id := N + 634;
+ Name_Exec_Dir : constant Name_Id := N + 635;
+ Name_Executable : constant Name_Id := N + 636;
+ Name_Executable_Suffix : constant Name_Id := N + 637;
+ Name_Extends : constant Name_Id := N + 638;
+ Name_Externally_Built : constant Name_Id := N + 639;
+ Name_Finder : constant Name_Id := N + 640;
+ Name_Global_Compiler_Switches : constant Name_Id := N + 641;
+ Name_Global_Configuration_Pragmas : constant Name_Id := N + 642;
+ Name_Global_Config_File : constant Name_Id := N + 643;
+ Name_Gnatls : constant Name_Id := N + 644;
+ Name_Gnatstub : constant Name_Id := N + 645;
+ Name_Implementation : constant Name_Id := N + 646;
+ Name_Implementation_Exceptions : constant Name_Id := N + 647;
+ Name_Implementation_Suffix : constant Name_Id := N + 648;
+ Name_Include_Option : constant Name_Id := N + 649;
+ Name_Include_Path : constant Name_Id := N + 650;
+ Name_Include_Path_File : constant Name_Id := N + 651;
+ Name_Language_Kind : constant Name_Id := N + 652;
+ Name_Language_Processing : constant Name_Id := N + 653;
+ Name_Languages : constant Name_Id := N + 654;
+ Name_Library_Ali_Dir : constant Name_Id := N + 655;
+ Name_Library_Auto_Init : constant Name_Id := N + 656;
+ Name_Library_Auto_Init_Supported : constant Name_Id := N + 657;
+ Name_Library_Builder : constant Name_Id := N + 658;
+ Name_Library_Dir : constant Name_Id := N + 659;
+ Name_Library_GCC : constant Name_Id := N + 660;
+ Name_Library_Interface : constant Name_Id := N + 661;
+ Name_Library_Kind : constant Name_Id := N + 662;
+ Name_Library_Name : constant Name_Id := N + 663;
+ Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 664;
+ Name_Library_Options : constant Name_Id := N + 665;
+ Name_Library_Reference_Symbol_File : constant Name_Id := N + 666;
+ Name_Library_Src_Dir : constant Name_Id := N + 667;
+ Name_Library_Support : constant Name_Id := N + 668;
+ Name_Library_Symbol_File : constant Name_Id := N + 669;
+ Name_Library_Symbol_Policy : constant Name_Id := N + 670;
+ Name_Library_Version : constant Name_Id := N + 671;
+ Name_Library_Version_Options : constant Name_Id := N + 672;
+ Name_Linker : constant Name_Id := N + 673;
+ Name_Linker_Executable_Option : constant Name_Id := N + 674;
+ Name_Linker_Lib_Dir_Option : constant Name_Id := N + 675;
+ Name_Linker_Lib_Name_Option : constant Name_Id := N + 676;
+ Name_Local_Config_File : constant Name_Id := N + 677;
+ Name_Local_Configuration_Pragmas : constant Name_Id := N + 678;
+ Name_Locally_Removed_Files : constant Name_Id := N + 679;
+ Name_Mapping_File_Switches : constant Name_Id := N + 680;
+ Name_Mapping_Spec_Suffix : constant Name_Id := N + 681;
+ Name_Mapping_Body_Suffix : constant Name_Id := N + 682;
+ Name_Metrics : constant Name_Id := N + 683;
+ Name_Minimum_Binder_Options : constant Name_Id := N + 684;
+ Name_Naming : constant Name_Id := N + 685;
+ Name_Objects_Path : constant Name_Id := N + 686;
+ Name_Objects_Path_File : constant Name_Id := N + 687;
+ Name_Object_Dir : constant Name_Id := N + 688;
+ Name_Pretty_Printer : constant Name_Id := N + 689;
+ Name_Project : constant Name_Id := N + 690;
+ Name_Roots : constant Name_Id := N + 691;
+ Name_Run_Path_Option : constant Name_Id := N + 692;
+ Name_Runtime_Project : constant Name_Id := N + 693;
+ Name_Shared_Library_Minimum_Options : constant Name_Id := N + 694;
+ Name_Shared_Library_Prefix : constant Name_Id := N + 695;
+ Name_Shared_Library_Suffix : constant Name_Id := N + 696;
+ Name_Separate_Suffix : constant Name_Id := N + 697;
+ Name_Source_Dirs : constant Name_Id := N + 698;
+ Name_Source_Files : constant Name_Id := N + 699;
+ Name_Source_List_File : constant Name_Id := N + 700;
+ Name_Spec : constant Name_Id := N + 701;
+ Name_Spec_Suffix : constant Name_Id := N + 702;
+ Name_Specification : constant Name_Id := N + 703;
+ Name_Specification_Exceptions : constant Name_Id := N + 704;
+ Name_Specification_Suffix : constant Name_Id := N + 705;
+ Name_Stack : constant Name_Id := N + 706;
+ Name_Switches : constant Name_Id := N + 707;
+ Name_Symbolic_Link_Supported : constant Name_Id := N + 708;
+ Name_Toolchain_Version : constant Name_Id := N + 709;
-- Other miscellaneous names used in front end
- Name_Unaligned_Valid : constant Name_Id := N + 685;
+ Name_Unaligned_Valid : constant Name_Id := N + 710;
-- Ada 2005 reserved words
- First_2005_Reserved_Word : constant Name_Id := N + 686;
- Name_Interface : constant Name_Id := N + 686;
- Name_Overriding : constant Name_Id := N + 687;
- Name_Synchronized : constant Name_Id := N + 688;
- Last_2005_Reserved_Word : constant Name_Id := N + 688;
+ First_2005_Reserved_Word : constant Name_Id := N + 711;
+ Name_Interface : constant Name_Id := N + 711;
+ Name_Overriding : constant Name_Id := N + 712;
+ Name_Synchronized : constant Name_Id := N + 713;
+ Last_2005_Reserved_Word : constant Name_Id := N + 713;
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 + 688;
+ Last_Predefined_Name : constant Name_Id := N + 713;
---------------------------------------
-- Subtypes Defining Name Categories --
Pragma_Ada_2005,
Pragma_Assertion_Policy,
Pragma_C_Pass_By_Copy,
+ Pragma_Compile_Time_Error,
Pragma_Compile_Time_Warning,
Pragma_Component_Alignment,
Pragma_Convention_Identifier,
Pragma_Unchecked_Union,
Pragma_Unimplemented_Unit,
Pragma_Unreferenced,
+ Pragma_Unreferenced_Objects,
Pragma_Unreserve_All_Interrupts,
Pragma_Volatile,
Pragma_Volatile_Components,
#define Pragma_Ada_2005 3
#define Pragma_Assertion_Policy 4
#define Pragma_C_Pass_By_Copy 5
-#define Pragma_Compile_Time_Warning 6
-#define Pragma_Component_Alignment 7
-#define Pragma_Convention_Identifier 8
-#define Pragma_Debug_Policy 9
-#define Pragma_Detect_Blocking 10
-#define Pragma_Discard_Names 11
-#define Pragma_Elaboration_Checks 12
-#define Pragma_Eliminate 13
-#define Pragma_Explicit_Overriding 14
-#define Pragma_Extend_System 15
-#define Pragma_Extensions_Allowed 16
-#define Pragma_External_Name_Casing 17
-#define Pragma_Float_Representation 18
-#define Pragma_Initialize_Scalars 19
-#define Pragma_Interrupt_State 20
-#define Pragma_License 21
-#define Pragma_Locking_Policy 22
-#define Pragma_Long_Float 23
-#define Pragma_No_Run_Time 24
-#define Pragma_No_Strict_Aliasing 25
-#define Pragma_Normalize_Scalars 26
-#define Pragma_Polling 27
-#define Pragma_Persistent_BSS 28
-#define Pragma_Priority_Specific_Dispatching 29
-#define Pragma_Profile 30
-#define Pragma_Profile_Warnings 31
-#define Pragma_Propagate_Exceptions 32
-#define Pragma_Queuing_Policy 33
-#define Pragma_Ravenscar 34
-#define Pragma_Restricted_Run_Time 35
-#define Pragma_Restrictions 36
-#define Pragma_Restriction_Warnings 37
-#define Pragma_Reviewable 38
-#define Pragma_Source_File_Name 39
-#define Pragma_Source_File_Name_Project 40
-#define Pragma_Style_Checks 41
-#define Pragma_Suppress 42
-#define Pragma_Suppress_Exception_Locations 43
-#define Pragma_Task_Dispatching_Policy 44
-#define Pragma_Universal_Data 45
-#define Pragma_Unsuppress 46
-#define Pragma_Use_VADS_Size 47
-#define Pragma_Validity_Checks 48
-#define Pragma_Warnings 49
-#define Pragma_Wide_Character_Encoding 50
-#define Pragma_Abort_Defer 51
-#define Pragma_All_Calls_Remote 52
-#define Pragma_Annotate 53
-#define Pragma_Assert 54
-#define Pragma_Asynchronous 55
-#define Pragma_Atomic 56
-#define Pragma_Atomic_Components 57
-#define Pragma_Attach_Handler 58
-#define Pragma_Comment 59
-#define Pragma_Common_Object 60
-#define Pragma_Complete_Representation 61
-#define Pragma_Complex_Representation 62
-#define Pragma_Controlled 63
-#define Pragma_Convention 64
-#define Pragma_CPP_Class 65
-#define Pragma_CPP_Constructor 66
-#define Pragma_CPP_Virtual 67
-#define Pragma_CPP_Vtable 68
-#define Pragma_Debug 69
-#define Pragma_Elaborate 70
-#define Pragma_Elaborate_All 71
-#define Pragma_Elaborate_Body 72
-#define Pragma_Export 73
-#define Pragma_Export_Exception 74
-#define Pragma_Export_Function 75
-#define Pragma_Export_Object 76
-#define Pragma_Export_Procedure 77
-#define Pragma_Export_Value 78
-#define Pragma_Export_Valued_Procedure 79
-#define Pragma_External 80
-#define Pragma_Finalize_Storage_Only 81
-#define Pragma_Ident 82
-#define Pragma_Import 83
-#define Pragma_Import_Exception 84
-#define Pragma_Import_Function 85
-#define Pragma_Import_Object 86
-#define Pragma_Import_Procedure 87
-#define Pragma_Import_Valued_Procedure 88
-#define Pragma_Inline 89
-#define Pragma_Inline_Always 90
-#define Pragma_Inline_Generic 91
-#define Pragma_Inspection_Point 92
-#define Pragma_Interface_Name 93
-#define Pragma_Interrupt_Handler 94
-#define Pragma_Interrupt_Priority 95
-#define Pragma_Java_Constructor 96
-#define Pragma_Java_Interface 97
-#define Pragma_Keep_Names 98
-#define Pragma_Link_With 99
-#define Pragma_Linker_Alias 100
-#define Pragma_Linker_Constructor 101
-#define Pragma_Linker_Destructor 102
-#define Pragma_Linker_Options 103
-#define Pragma_Linker_Section 104
-#define Pragma_List 105
-#define Pragma_Machine_Attribute 106
-#define Pragma_Main 107
-#define Pragma_Main_Storage 108
-#define Pragma_Memory_Size 109
-#define Pragma_No_Return 110
-#define Pragma_Obsolescent 111
-#define Pragma_Optimize 112
-#define Pragma_Optional_Overriding 113
-#define Pragma_Pack 114
-#define Pragma_Page 115
-#define Pragma_Passive 116
-#define Pragma_Preelaborable_Initialization 117
-#define Pragma_Preelaborate 118
-#define Pragma_Preelaborate_05 119
-#define Pragma_Psect_Object 120
-#define Pragma_Pure 121
-#define Pragma_Pure_05 122
-#define Pragma_Pure_Function 123
-#define Pragma_Remote_Call_Interface 124
-#define Pragma_Remote_Types 125
-#define Pragma_Share_Generic 126
-#define Pragma_Shared 127
-#define Pragma_Shared_Passive 128
-#define Pragma_Source_Reference 129
-#define Pragma_Stream_Convert 130
-#define Pragma_Subtitle 131
-#define Pragma_Suppress_All 132
-#define Pragma_Suppress_Debug_Info 133
-#define Pragma_Suppress_Initialization 134
-#define Pragma_System_Name 135
-#define Pragma_Task_Info 136
-#define Pragma_Task_Name 137
-#define Pragma_Task_Storage 138
-#define Pragma_Thread_Body 139
-#define Pragma_Time_Slice 140
-#define Pragma_Title 141
-#define Pragma_Unchecked_Union 142
-#define Pragma_Unimplemented_Unit 143
-#define Pragma_Unreferenced 144
-#define Pragma_Unreserve_All_Interrupts 145
-#define Pragma_Volatile 146
-#define Pragma_Volatile_Components 147
-#define Pragma_Weak_External 148
-#define Pragma_AST_Entry 149
-#define Pragma_Interface 150
-#define Pragma_Priority 151
-#define Pragma_Storage_Size 152
-#define Pragma_Storage_Unit 153
+#define Pragma_Compile_Time_Error 6
+#define Pragma_Compile_Time_Warning 7
+#define Pragma_Component_Alignment 8
+#define Pragma_Convention_Identifier 9
+#define Pragma_Debug_Policy 10
+#define Pragma_Detect_Blocking 11
+#define Pragma_Discard_Names 12
+#define Pragma_Elaboration_Checks 13
+#define Pragma_Eliminate 14
+#define Pragma_Explicit_Overriding 15
+#define Pragma_Extend_System 16
+#define Pragma_Extensions_Allowed 17
+#define Pragma_External_Name_Casing 18
+#define Pragma_Float_Representation 19
+#define Pragma_Initialize_Scalars 20
+#define Pragma_Interrupt_State 21
+#define Pragma_License 22
+#define Pragma_Locking_Policy 23
+#define Pragma_Long_Float 24
+#define Pragma_No_Run_Time 25
+#define Pragma_No_Strict_Aliasing 26
+#define Pragma_Normalize_Scalars 27
+#define Pragma_Polling 28
+#define Pragma_Persistent_BSS 29
+#define Pragma_Priority_Specific_Dispatching 30
+#define Pragma_Profile 31
+#define Pragma_Profile_Warnings 32
+#define Pragma_Propagate_Exceptions 33
+#define Pragma_Queuing_Policy 34
+#define Pragma_Ravenscar 35
+#define Pragma_Restricted_Run_Time 36
+#define Pragma_Restrictions 37
+#define Pragma_Restriction_Warnings 38
+#define Pragma_Reviewable 39
+#define Pragma_Source_File_Name 40
+#define Pragma_Source_File_Name_Project 41
+#define Pragma_Style_Checks 42
+#define Pragma_Suppress 43
+#define Pragma_Suppress_Exception_Locations 44
+#define Pragma_Task_Dispatching_Policy 45
+#define Pragma_Universal_Data 46
+#define Pragma_Unsuppress 47
+#define Pragma_Use_VADS_Size 48
+#define Pragma_Validity_Checks 49
+#define Pragma_Warnings 50
+#define Pragma_Wide_Character_Encoding 51
+#define Pragma_Abort_Defer 52
+#define Pragma_All_Calls_Remote 53
+#define Pragma_Annotate 54
+#define Pragma_Assert 55
+#define Pragma_Asynchronous 56
+#define Pragma_Atomic 57
+#define Pragma_Atomic_Components 58
+#define Pragma_Attach_Handler 59
+#define Pragma_Comment 60
+#define Pragma_Common_Object 61
+#define Pragma_Complete_Representation 62
+#define Pragma_Complex_Representation 63
+#define Pragma_Controlled 64
+#define Pragma_Convention 65
+#define Pragma_CPP_Class 66
+#define Pragma_CPP_Constructor 67
+#define Pragma_CPP_Virtual 68
+#define Pragma_CPP_Vtable 69
+#define Pragma_Debug 70
+#define Pragma_Elaborate 71
+#define Pragma_Elaborate_All 72
+#define Pragma_Elaborate_Body 73
+#define Pragma_Export 74
+#define Pragma_Export_Exception 75
+#define Pragma_Export_Function 76
+#define Pragma_Export_Object 77
+#define Pragma_Export_Procedure 78
+#define Pragma_Export_Value 79
+#define Pragma_Export_Valued_Procedure 80
+#define Pragma_External 81
+#define Pragma_Finalize_Storage_Only 82
+#define Pragma_Ident 83
+#define Pragma_Import 84
+#define Pragma_Import_Exception 85
+#define Pragma_Import_Function 86
+#define Pragma_Import_Object 87
+#define Pragma_Import_Procedure 88
+#define Pragma_Import_Valued_Procedure 89
+#define Pragma_Inline 90
+#define Pragma_Inline_Always 91
+#define Pragma_Inline_Generic 92
+#define Pragma_Inspection_Point 93
+#define Pragma_Interface_Name 94
+#define Pragma_Interrupt_Handler 95
+#define Pragma_Interrupt_Priority 96
+#define Pragma_Java_Constructor 97
+#define Pragma_Java_Interface 98
+#define Pragma_Keep_Names 99
+#define Pragma_Link_With 100
+#define Pragma_Linker_Alias 101
+#define Pragma_Linker_Constructor 102
+#define Pragma_Linker_Destructor 103
+#define Pragma_Linker_Options 104
+#define Pragma_Linker_Section 105
+#define Pragma_List 106
+#define Pragma_Machine_Attribute 107
+#define Pragma_Main 108
+#define Pragma_Main_Storage 109
+#define Pragma_Memory_Size 110
+#define Pragma_No_Return 111
+#define Pragma_Obsolescent 112
+#define Pragma_Optimize 113
+#define Pragma_Optional_Overriding 114
+#define Pragma_Pack 115
+#define Pragma_Page 116
+#define Pragma_Passive 117
+#define Pragma_Preelaborable_Initialization 118
+#define Pragma_Preelaborate 119
+#define Pragma_Preelaborate_05 120
+#define Pragma_Psect_Object 121
+#define Pragma_Pure 122
+#define Pragma_Pure_05 123
+#define Pragma_Pure_Function 124
+#define Pragma_Remote_Call_Interface 125
+#define Pragma_Remote_Types 126
+#define Pragma_Share_Generic 127
+#define Pragma_Shared 128
+#define Pragma_Shared_Passive 129
+#define Pragma_Source_Reference 130
+#define Pragma_Stream_Convert 131
+#define Pragma_Subtitle 132
+#define Pragma_Suppress_All 133
+#define Pragma_Suppress_Debug_Info 134
+#define Pragma_Suppress_Initialization 135
+#define Pragma_System_Name 136
+#define Pragma_Task_Info 137
+#define Pragma_Task_Name 138
+#define Pragma_Task_Storage 139
+#define Pragma_Thread_Body 140
+#define Pragma_Time_Slice 141
+#define Pragma_Title 142
+#define Pragma_Unchecked_Union 143
+#define Pragma_Unimplemented_Unit 144
+#define Pragma_Unreferenced 145
+#define Pragma_Unreferenced_Objects 146
+#define Pragma_Unreserve_All_Interrupts 147
+#define Pragma_Volatile 148
+#define Pragma_Volatile_Components 149
+#define Pragma_Weak_External 150
+#define Pragma_AST_Entry 151
+#define Pragma_Interface 152
+#define Pragma_Priority 153
+#define Pragma_Storage_Size 154
+#define Pragma_Storage_Unit 155
/* End of snames.h (C version of Snames package spec) */