-- --
------------------------------------------------------------------------------
-with Types; use Types;
+with Rident; use Rident;
+with Types; use Types;
package Errid.Diagnostic_Repository is
type Diagnostic_Entry_Type is record
Switch : Switch_Id := No_Switch_Id;
-- The switch that controls the diagnostic message.
+
+ Restriction : Restriction_Id := Not_A_Restriction_Id;
+ -- The restriction associated with the diagnostic message.
end record;
type Diagnostics_Registry_Type is
Diagnostic_Entries : constant Diagnostics_Registry_Type :=
(No_Diagnostic_Id => <>,
GNAT0001 =>
- (Status => Active,
- Human_Id => new String'("Default_Iterator_Not_Primitive_Error"),
- Switch => No_Switch_Id),
+ (Status => Active,
+ Human_Id => new String'("Default_Iterator_Not_Primitive_Error"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
GNAT0002 =>
- (Status => Active,
- Human_Id => new String'("Invalid_Operand_Types_General_Error"),
- Switch => No_Switch_Id),
+ (Status => Active,
+ Human_Id => new String'("Invalid_Operand_Types_General_Error"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
GNAT0003 =>
- (Status => Active,
- Human_Id => new String'("Pragma_No_Effect_With_Lock_Free_Warning"),
- Switch => No_Switch_Id),
+ (Status => Active,
+ Human_Id => new String'("Pragma_No_Effect_With_Lock_Free_Warning"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
GNAT0004 =>
- (Status => Active,
- Human_Id => new String'("End_Loop_Expected_Error"),
- Switch => No_Switch_Id),
+ (Status => Active,
+ Human_Id => new String'("End_Loop_Expected_Error"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
GNAT0005 =>
- (Status => Active,
- Human_Id => new String'("Representation_Too_Late_Error"),
- Switch => No_Switch_Id),
+ (Status => Active,
+ Human_Id => new String'("Representation_Too_Late_Error"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
GNAT0006 =>
- (Status => Active,
- Human_Id => new String'("Mixed_Container_Aggregate_Error"),
- Switch => No_Switch_Id),
- GNAT0007 =>
- (Status => Active,
- Human_Id => new String'("Volatile_Not_Modifed_Warning"),
- Switch => gnatwk),
- GNAT0008 =>
- (Status => Active,
- Human_Id => new String'("Variable_Not_Modifed_Warning"),
- Switch => gnatwk),
- GNAT0009 =>
- (Status => Active,
- Human_Id => new String'("In_Out_Not_Modifed_Warning"),
- Switch => gnatwk));
+ (Status => Active,
+ Human_Id => new String'("Mixed_Container_Aggregate_Error"),
+ Switch => No_Switch_Id,
+ Restriction => Not_A_Restriction_Id),
+ GNAT0007 =>
+ (Status => Active,
+ Human_Id => new String'("Volatile_Not_Modifed_Warning"),
+ Switch => gnatwk,
+ Restriction => Not_A_Restriction_Id),
+ GNAT0008 =>
+ (Status => Active,
+ Human_Id => new String'("Variable_Not_Modifed_Warning"),
+ Switch => gnatwk,
+ Restriction => Not_A_Restriction_Id),
+ GNAT0009 =>
+ (Status => Active,
+ Human_Id => new String'("In_Out_Not_Modifed_Warning"),
+ Switch => gnatwk,
+ Restriction => Not_A_Restriction_Id),
+ GNAT0010 =>
+ (Status => Active,
+ Human_Id => new String'("Simple_Barriers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Simple_Barriers),
+ GNAT0011 =>
+ (Status => Active,
+ Human_Id => new String'("Pure_Barriers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Pure_Barriers),
+ GNAT0012 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Abort_Statements_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Abort_Statements),
+ GNAT0013 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Access_Parameter_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Access_Parameter_Allocators),
+ GNAT0014 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Access_Subprograms_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Access_Subprograms),
+ GNAT0015 =>
+ (Status => Active,
+ Human_Id => new String'("No_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Allocators),
+ GNAT0016 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Anonymous_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Anonymous_Allocators),
+ GNAT0017 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Asynchronous_Control_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Asynchronous_Control),
+ GNAT0018 =>
+ (Status => Active,
+ Human_Id => new String'("No_Calendar_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Calendar),
+ GNAT0019 =>
+ (Status => Active,
+ Human_Id => new String'("No_Coextensions_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Coextensions),
+ GNAT0020 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Default_Stream_Attributes_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Default_Stream_Attributes),
+ GNAT0021 =>
+ (Status => Active,
+ Human_Id => new String'("No_Delay_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Delay),
+ GNAT0022 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Direct_Boolean_Operators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Direct_Boolean_Operators),
+ GNAT0023 =>
+ (Status => Active,
+ Human_Id => new String'("No_Dispatch_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dispatch),
+ GNAT0024 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Dispatching_Calls_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dispatching_Calls),
+ GNAT0025 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Dynamic_Accessibility_Checks_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dynamic_Accessibility_Checks),
+ GNAT0026 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Dynamic_Attachment_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dynamic_Attachment),
+ GNAT0027 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Dynamic_CPU_Assignment_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dynamic_CPU_Assignment),
+ GNAT0028 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Dynamic_Priorities_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dynamic_Priorities),
+ GNAT0029 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Enumeration_Maps_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Enumeration_Maps),
+ GNAT0030 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Entry_Calls_In_Elaboration_Code_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Entry_Calls_In_Elaboration_Code),
+ GNAT0031 =>
+ (Status => Active,
+ Human_Id => new String'("No_Entry_Queue_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Entry_Queue),
+ GNAT0032 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Exception_Handlers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Exception_Handlers),
+ GNAT0033 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Exception_Propagation_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Exception_Propagation),
+ GNAT0034 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Exception_Registration_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Exception_Registration),
+ GNAT0035 =>
+ (Status => Active,
+ Human_Id => new String'("No_Exceptions_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Exceptions),
+ GNAT0036 =>
+ (Status => Active,
+ Human_Id => new String'("No_Finalization_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Finalization),
+ GNAT0037 =>
+ (Status => Active,
+ Human_Id => new String'("No_Fixed_IO_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Fixed_IO),
+ GNAT0038 =>
+ (Status => Active,
+ Human_Id => new String'("No_Fixed_Point_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Fixed_Point),
+ GNAT0039 =>
+ (Status => Active,
+ Human_Id => new String'("No_Floating_Point_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Floating_Point),
+ GNAT0040 =>
+ (Status => Active,
+ Human_Id => new String'("No_IO_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_IO),
+ GNAT0041 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implicit_Conditionals_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Conditionals),
+ GNAT0042 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implicit_Dynamic_Code_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Dynamic_Code),
+ GNAT0043 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implicit_Heap_Allocations_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Heap_Allocations),
+ GNAT0044 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implicit_Task_Allocations_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Task_Allocations),
+ GNAT0045 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Implicit_Protected_Object_Allocations"
+ & "_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Protected_Object_Allocations),
+ GNAT0046 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Initialize_Scalars_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Initialize_Scalars),
+ GNAT0047 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Local_Tagged_Types_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Local_Tagged_Types),
+ GNAT0048 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Local_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Local_Allocators),
+ GNAT0049 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Local_Timing_Events_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Local_Timing_Events),
+ GNAT0050 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Local_Protected_Objects_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Local_Protected_Objects),
+ GNAT0051 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Long_Long_Integers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Long_Long_Integers),
+ GNAT0052 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Multiple_Elaboration_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Multiple_Elaboration),
+ GNAT0053 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Nested_Finalization_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Nested_Finalization),
+ GNAT0054 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Protected_Type_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Protected_Type_Allocators),
+ GNAT0055 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Protected_Types_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Protected_Types),
+ GNAT0056 =>
+ (Status => Active,
+ Human_Id => new String'("No_Recursion_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Recursion),
+ GNAT0057 =>
+ (Status => Active,
+ Human_Id => new String'("No_Reentrancy_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Reentrancy),
+ GNAT0058 =>
+ (Status => Active,
+ Human_Id => new String'("No_Relative_Delay_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Relative_Delay),
+ GNAT0059 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Requeue_Statements_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Requeue_Statements),
+ GNAT0060 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Secondary_Stack_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Secondary_Stack),
+ GNAT0061 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Select_Statements_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Select_Statements),
+ GNAT0062 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Specific_Termination_Handlers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Specific_Termination_Handlers),
+ GNAT0063 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Standard_Allocators_After_Elaboration"
+ & "_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Standard_Allocators_After_Elaboration),
+ GNAT0064 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Standard_Storage_Pools_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Standard_Storage_Pools),
+ GNAT0065 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Stream_Optimizations_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Stream_Optimizations),
+ GNAT0066 =>
+ (Status => Active,
+ Human_Id => new String'("No_Streams_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Streams),
+ GNAT0067 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Tagged_Type_Registration_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Tagged_Type_Registration),
+ GNAT0068 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Task_Allocators_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_Allocators),
+ GNAT0069 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Task_Attributes_Package_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_Attributes_Package),
+ GNAT0070 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Task_At_Interrupt_Priority_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_At_Interrupt_Priority),
+ GNAT0071 =>
+ (Status => Active,
+ Human_Id => new String'("No_Task_Hierarchy_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_Hierarchy),
+ GNAT0072 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Task_Hierarchy_Implicit_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_Hierarchy_Implicit),
+ GNAT0073 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Task_Termination_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Task_Termination),
+ GNAT0074 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Tasks_Unassigned_To_CPU_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Tasks_Unassigned_To_CPU),
+ GNAT0075 =>
+ (Status => Active,
+ Human_Id => new String'("No_Tasking_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Tasking),
+ GNAT0076 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Terminate_Alternatives_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Terminate_Alternatives),
+ GNAT0077 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Unchecked_Access_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Unchecked_Access),
+ GNAT0078 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Unchecked_Conversion_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Unchecked_Conversion),
+ GNAT0079 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Unchecked_Deallocation_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Unchecked_Deallocation),
+ GNAT0080 =>
+ (Status => Active,
+ Human_Id => new String'("Static_Priorities_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Static_Priorities),
+ GNAT0081 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Static_Storage_Size_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Static_Storage_Size),
+ GNAT0082 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Default_Initialization_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Default_Initialization),
+ GNAT0083 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Immediate_Reclamation_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Immediate_Reclamation),
+ GNAT0084 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Dynamic_Sized_Objects_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Dynamic_Sized_Objects),
+ GNAT0085 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("No_Implementation_Aspect_Specifications_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Aspect_Specifications),
+ GNAT0086 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implementation_Attributes_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Attributes),
+ GNAT0087 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implementation_Identifiers_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Identifiers),
+ GNAT0088 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implementation_Pragmas_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Pragmas),
+ GNAT0089 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implementation_Restrictions_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Restrictions),
+ GNAT0090 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implementation_Units_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implementation_Units),
+ GNAT0091 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Implicit_Aliasing_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Aliasing),
+ GNAT0092 =>
+ (Status => Active,
+ Human_Id => new String'("No_Implicit_Loops_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Implicit_Loops),
+ GNAT0093 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Elaboration_Code_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Elaboration_Code),
+ GNAT0094 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Obsolescent_Features_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Obsolescent_Features),
+ GNAT0095 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Unrecognized_Aspects_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Unrecognized_Aspects),
+ GNAT0096 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Unrecognized_Pragmas_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Unrecognized_Pragmas),
+ GNAT0097 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Wide_Characters_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Wide_Characters),
+ GNAT0098 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Static_Dispatch_Tables_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Static_Dispatch_Tables),
+ GNAT0099 =>
+ (Status => Active,
+ Human_Id => new String'("SPARK_05_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => SPARK_05),
+ GNAT0100 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Specification_Of_Aspect_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Specification_Of_Aspect),
+ GNAT0101 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("No_Use_Of_Attribute_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Use_Of_Attribute),
+ GNAT0102 =>
+ (Status => Active,
+ Human_Id => new String'("No_Use_Of_Pragma_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => No_Use_Of_Pragma),
+ GNAT0103 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Max_Protected_Entries_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Protected_Entries),
+ GNAT0104 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Max_Select_Alternatives_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Select_Alternatives),
+ GNAT0105 =>
+ (Status => Active,
+ Human_Id => new String'("Max_Task_Entries_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Task_Entries),
+ GNAT0106 =>
+ (Status => Active,
+ Human_Id => new String'("Max_Tasks_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Tasks),
+ GNAT0107 =>
+ (Status => Active,
+ Human_Id =>
+ new String'
+ ("Max_Asynchronous_Select_Nesting_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Asynchronous_Select_Nesting),
+ GNAT0108 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Max_Entry_Queue_Length_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Entry_Queue_Length),
+ GNAT0109 =>
+ (Status => Active,
+ Human_Id =>
+ new String'("Max_Storage_At_Blocking_Restriction_Violation"),
+ Switch => No_Switch_Id,
+ Restriction => Max_Storage_At_Blocking));
end Errid.Diagnostic_Repository;
--- /dev/null
+------------------------------------------------------------------------------
+-- --
+-- GNAT COMPILER COMPONENTS --
+-- --
+-- E R R I D . R E S T R I C T I O N _ R E P O S I T O R Y --
+-- --
+-- S p e c --
+-- --
+-- Copyright (C) 1992-2026, Free Software Foundation, Inc. --
+-- --
+-- GNAT is free software; you can redistribute it and/or modify it under --
+-- terms of the GNU General Public License as published by the Free Soft- --
+-- ware Foundation; either version 3, or (at your option) any later ver- --
+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
+-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
+-- for more details. You should have received a copy of the GNU General --
+-- Public License distributed with GNAT; see file COPYING3. If not, go to --
+-- http://www.gnu.org/licenses for a complete copy of the license. --
+-- --
+-- GNAT was originally developed by the GNAT team at New York University. --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
+-- --
+------------------------------------------------------------------------------
+
+with Rident; use Rident;
+
+package Errid.Restriction_Repository is
+
+ type Restriction_To_Diagnostic_Mapping is
+ array (Restriction_Id) of Diagnostic_Id;
+
+ Rest_To_Diag_Mappping : constant Restriction_To_Diagnostic_Mapping :=
+ (Simple_Barriers => GNAT0010,
+ Pure_Barriers => GNAT0011,
+ No_Abort_Statements => GNAT0012,
+ No_Access_Parameter_Allocators => GNAT0013,
+ No_Access_Subprograms => GNAT0014,
+ No_Allocators => GNAT0015,
+ No_Anonymous_Allocators => GNAT0016,
+ No_Asynchronous_Control => GNAT0017,
+ No_Calendar => GNAT0018,
+ No_Coextensions => GNAT0019,
+ No_Default_Stream_Attributes => GNAT0020,
+ No_Delay => GNAT0021,
+ No_Direct_Boolean_Operators => GNAT0022,
+ No_Dispatch => GNAT0023,
+ No_Dispatching_Calls => GNAT0024,
+ No_Dynamic_Accessibility_Checks => GNAT0025,
+ No_Dynamic_Attachment => GNAT0026,
+ No_Dynamic_CPU_Assignment => GNAT0027,
+ No_Dynamic_Priorities => GNAT0028,
+ No_Enumeration_Maps => GNAT0029,
+ No_Entry_Calls_In_Elaboration_Code => GNAT0030,
+ No_Entry_Queue => GNAT0031,
+ No_Exception_Handlers => GNAT0032,
+ No_Exception_Propagation => GNAT0033,
+ No_Exception_Registration => GNAT0034,
+ No_Exceptions => GNAT0035,
+ No_Finalization => GNAT0036,
+ No_Fixed_IO => GNAT0037,
+ No_Fixed_Point => GNAT0038,
+ No_Floating_Point => GNAT0039,
+ No_IO => GNAT0040,
+ No_Implicit_Conditionals => GNAT0041,
+ No_Implicit_Dynamic_Code => GNAT0042,
+ No_Implicit_Heap_Allocations => GNAT0043,
+ No_Implicit_Task_Allocations => GNAT0044,
+ No_Implicit_Protected_Object_Allocations => GNAT0045,
+ No_Initialize_Scalars => GNAT0046,
+ No_Local_Tagged_Types => GNAT0047,
+ No_Local_Allocators => GNAT0048,
+ No_Local_Timing_Events => GNAT0049,
+ No_Local_Protected_Objects => GNAT0050,
+ No_Long_Long_Integers => GNAT0051,
+ No_Multiple_Elaboration => GNAT0052,
+ No_Nested_Finalization => GNAT0053,
+ No_Protected_Type_Allocators => GNAT0054,
+ No_Protected_Types => GNAT0055,
+ No_Recursion => GNAT0056,
+ No_Reentrancy => GNAT0057,
+ No_Relative_Delay => GNAT0058,
+ No_Requeue_Statements => GNAT0059,
+ No_Secondary_Stack => GNAT0060,
+ No_Select_Statements => GNAT0061,
+ No_Specific_Termination_Handlers => GNAT0062,
+ No_Standard_Allocators_After_Elaboration => GNAT0063,
+ No_Standard_Storage_Pools => GNAT0064,
+ No_Stream_Optimizations => GNAT0065,
+ No_Streams => GNAT0066,
+ No_Tagged_Type_Registration => GNAT0067,
+ No_Task_Allocators => GNAT0068,
+ No_Task_Attributes_Package => GNAT0069,
+ No_Task_At_Interrupt_Priority => GNAT0070,
+ No_Task_Hierarchy => GNAT0071,
+ No_Task_Hierarchy_Implicit => GNAT0072,
+ No_Task_Termination => GNAT0073,
+ No_Tasks_Unassigned_To_CPU => GNAT0074,
+ No_Tasking => GNAT0075,
+ No_Terminate_Alternatives => GNAT0076,
+ No_Unchecked_Access => GNAT0077,
+ No_Unchecked_Conversion => GNAT0078,
+ No_Unchecked_Deallocation => GNAT0079,
+ Static_Priorities => GNAT0080,
+ Static_Storage_Size => GNAT0081,
+
+ -- The following require consistency checking with special rules. See
+ -- individual routines in unit Bcheck for details of what is required.
+
+ No_Default_Initialization => GNAT0082,
+
+ -- The following cases do not require consistency checking and if used
+ -- as a configuration pragma within a specific unit, apply only to that
+ -- unit (e.g. if used in the package spec, do not apply to the body)
+
+ -- Note: No_Elaboration_Code is handled specially. Like the other
+ -- non-partition-wide restrictions, it can only be set in a unit that
+ -- is part of the extended main source unit (body/spec/subunits). But
+ -- it is sticky, in that if it is found anywhere within any of these
+ -- units, it applies to all units in this extended main source.
+
+ Immediate_Reclamation => GNAT0083,
+ No_Dynamic_Sized_Objects => GNAT0084,
+ No_Implementation_Aspect_Specifications => GNAT0085,
+ No_Implementation_Attributes => GNAT0086,
+ No_Implementation_Identifiers => GNAT0087,
+ No_Implementation_Pragmas => GNAT0088,
+ No_Implementation_Restrictions => GNAT0089,
+ No_Implementation_Units => GNAT0090,
+ No_Implicit_Aliasing => GNAT0091,
+ No_Implicit_Loops => GNAT0092,
+ No_Elaboration_Code => GNAT0093,
+ No_Obsolescent_Features => GNAT0094,
+ No_Unrecognized_Aspects => GNAT0095,
+ No_Unrecognized_Pragmas => GNAT0096,
+ No_Wide_Characters => GNAT0097,
+ Static_Dispatch_Tables => GNAT0098,
+ SPARK_05 => GNAT0099,
+
+ -- The following cases require a parameter value
+
+ No_Specification_Of_Aspect => GNAT0100,
+ No_Use_Of_Attribute => GNAT0101,
+ No_Use_Of_Pragma => GNAT0102,
+
+ -- The following entries are fully checked at compile/bind time, which
+ -- means that the compiler can in general tell the minimum value which
+ -- could be used with a restrictions pragma. The binder can deduce the
+ -- appropriate minimum value for the partition by taking the maximum
+ -- value required by any unit.
+
+ Max_Protected_Entries => GNAT0103,
+ Max_Select_Alternatives => GNAT0104,
+ Max_Task_Entries => GNAT0105,
+
+ -- The following entries are also fully checked at compile/bind time,
+ -- and the compiler can also at least in some cases tell the minimum
+ -- value which could be used with a restriction pragma. The difference
+ -- is that the contributions are additive, so the binder deduces this
+ -- value by adding the unit contributions.
+
+ Max_Tasks => GNAT0106,
+
+ -- The following entries are checked at compile time only for zero/
+ -- nonzero entries. This means that the compiler can tell at compile
+ -- time if a restriction value of zero is (would be) violated, but that
+ -- the compiler cannot distinguish between different non-zero values.
+
+ Max_Asynchronous_Select_Nesting => GNAT0107,
+ Max_Entry_Queue_Length => GNAT0108,
+
+ -- The remaining entries are not checked at compile/bind time
+
+ Max_Storage_At_Blocking => GNAT0109,
+
+ Not_A_Restriction_Id => No_Diagnostic_Id);
+
+end Errid.Restriction_Repository;