.. _List_of_Rules: ************************** Alphabetical List of Rules ************************** This section contains an alphabetized list of all the predefined GNATcheck rules. * :ref:`Abort_Statements` * :ref:`Abstract_Type_Declarations` * :ref:`Access_To_Local_Objects` * :ref:`Actual_Parameters` * :ref:`Ada05_Formal_Packages` * :ref:`Ada_2022_In_Ghost_Code` * :ref:`Address_Attribute_For_Non_Volatile_Objects` * :ref:`Address_Specifications_For_Initialized_Objects` * :ref:`Address_Specifications_For_Local_Objects` * :ref:`Annotated_Comments` * :ref:`Anonymous_Access` * :ref:`Anonymous_Arrays` * :ref:`Anonymous_Subtypes` * :ref:`At_Representation_Clauses` * :ref:`Binary_Case_Statements` * :ref:`Bit_Records_Without_Layout_Definition` * :ref:`Blocks` * :ref:`Boolean_Negations` * :ref:`Boolean_Relational_Operators` * :ref:`Calls_In_Exception_Handlers` * :ref:`Calls_Outside_Elaboration` * :ref:`Complex_Inlined_Subprograms` * :ref:`Concurrent_Interfaces` * :ref:`Conditional_Expressions` * :ref:`Constant_Overlays` * :ref:`Constructors` * :ref:`Controlled_Type_Declarations` * :ref:`Declarations_In_Blocks` * :ref:`Deep_Inheritance_Hierarchies` * :ref:`Deep_Library_Hierarchy` * :ref:`Deeply_Nested_Generics` * :ref:`Deeply_Nested_Inlining` * :ref:`Deeply_Nested_Instantiations` * :ref:`Default_Parameters` * :ref:`Default_Values_For_Record_Components` * :ref:`Deriving_From_Predefined_Type` * :ref:`Direct_Calls_To_Primitives` * :ref:`Direct_Equalities` * :ref:`Discriminated_Records` * :ref:`Downward_View_Conversions` * :ref:`Duplicate_Branches` * :ref:`End_Of_Line_Comments` * :ref:`Enumeration_Ranges_In_CASE_Statements` * :ref:`Enumeration_Representation_Clauses` * :ref:`Exception_Propagation_From_Callbacks` * :ref:`Exception_Propagation_From_Export` * :ref:`Exception_Propagation_From_Tasks` * :ref:`Exceptions_As_Control_Flow` * :ref:`EXIT_Statements_With_No_Loop_Name` * :ref:`Exits_From_Conditional_Loops` * :ref:`Expanded_Loop_Exit_Names` * :ref:`Explicit_Full_Discrete_Ranges` * :ref:`Explicit_Inlining` * :ref:`Expression_Functions` * :ref:`Final_Package` * :ref:`Fixed_Equality_Checks` * :ref:`Float_Equality_Checks` * :ref:`Forbidden_Aspects` * :ref:`Forbidden_Attributes` * :ref:`Forbidden_Pragmas` * :ref:`Function_OUT_Parameters` * :ref:`Function_Style_Procedures` * :ref:`Generic_IN_OUT_Objects` * :ref:`Generics_In_Subprograms` * :ref:`Global_Variables` * :ref:`GOTO_Statements` * :ref:`Headers` * :ref:`Identifier_Casing` * :ref:`Identifier_Prefixes` * :ref:`Identifier_Suffixes` * :ref:`Implicit_IN_Mode_Parameters` * :ref:`Implicit_SMALL_For_Fixed_Point_Types` * :ref:`Improper_Returns` * :ref:`Improperly_Located_Instantiations` * :ref:`Incomplete_Representation_Specifications` * :ref:`Integer_Types_As_Enum` * :ref:`Library_Level_Subprograms` * :ref:`Local_Instantiations` * :ref:`Local_Packages` * :ref:`Local_USE_Clauses` * :ref:`Lowercase_Keywords` * :ref:`Max_Identifier_Length` * :ref:`Maximum_Expression_Complexity` * :ref:`Maximum_Lines` * :ref:`Maximum_OUT_Parameters` * :ref:`Maximum_Parameters` * :ref:`Maximum_Subprogram_Lines` * :ref:`Membership_For_Validity` * :ref:`Membership_Tests` * :ref:`Metrics_Cyclomatic_Complexity` * :ref:`Metrics_Essential_Complexity` * :ref:`Metrics_LSLOC` * :ref:`Min_Identifier_Length` * :ref:`Misnamed_Controlling_Parameters` * :ref:`Misplaced_Representation_Items` * :ref:`Multiple_Entries_In_Protected_Definitions` * :ref:`Name_Clashes` * :ref:`Nested_Paths` * :ref:`Nested_Subprograms` * :ref:`No_Closing_Names` * :ref:`No_Dependence` * :ref:`No_Explicit_Real_Range` * :ref:`No_Inherited_Classwide_Pre` * :ref:`No_Others_In_Exception_Handlers` * :ref:`No_Scalar_Storage_Order_Specified` * :ref:`Non_Component_In_Barriers` * :ref:`Non_Constant_Overlays` * :ref:`Non_Qualified_Aggregates` * :ref:`Non_Short_Circuit_Operators` * :ref:`Non_SPARK_Attributes` * :ref:`Non_Tagged_Derived_Types` * :ref:`Non_Visible_Exceptions` * :ref:`Nonoverlay_Address_Specifications` * :ref:`Not_Imported_Overlays` * :ref:`Null_Paths` * :ref:`Number_Declarations` * :ref:`Numeric_Format` * :ref:`Numeric_Indexing` * :ref:`Numeric_Literals` * :ref:`Object_Declarations_Out_Of_Order` * :ref:`Objects_Of_Anonymous_Types` * :ref:`One_Construct_Per_Line` * :ref:`One_Tagged_Type_Per_Package` * :ref:`Operator_Renamings` * :ref:`OTHERS_In_Aggregates` * :ref:`OTHERS_In_CASE_Statements` * :ref:`OTHERS_In_Exception_Handlers` * :ref:`Outbound_Protected_Assignments` * :ref:`Outer_Loop_Exits` * :ref:`Outside_References_From_Subprograms` * :ref:`Overloaded_Operators` * :ref:`Overly_Nested_Control_Structures` * :ref:`Overly_Nested_Scopes` * :ref:`Overriding_Indicators` * :ref:`Parameters_Aliasing` * :ref:`Parameters_Out_Of_Order` * :ref:`POS_On_Enumeration_Types` * :ref:`Positional_Actuals_For_Defaulted_Generic_Parameters` * :ref:`Positional_Actuals_For_Defaulted_Parameters` * :ref:`Positional_Components` * :ref:`Positional_Generic_Parameters` * :ref:`Positional_Parameters` * :ref:`Potential_Parameters_Aliasing` * :ref:`Predefined_Numeric_Types` * :ref:`Predicate_Testing` * :ref:`Printable_ASCII` * :ref:`Profile_Discrepancies` * :ref:`Quantified_Expressions` * :ref:`Raising_External_Exceptions` * :ref:`Raising_Predefined_Exceptions` * :ref:`Recursive_Subprograms` * :ref:`Redundant_Boolean_Expressions` * :ref:`Redundant_Null_Statements` * :ref:`Relative_Delay_Statements` * :ref:`Renamings` * :ref:`Representation_Specifications` * :ref:`Restrictions` * :ref:`Same_Instantiations` * :ref:`Same_Logic` * :ref:`Same_Operands` * :ref:`Same_Tests` * :ref:`Separate_Numeric_Error_Handlers` * :ref:`Separates` * :ref:`Side_Effect_Parameters` * :ref:`Silent_Exception_Handlers` * :ref:`Simple_Loop_Statements` * :ref:`Single_Value_Enumeration_Types` * :ref:`Size_Attribute_For_Types` * :ref:`Slices` * :ref:`SPARK_Procedures_Without_Globals` * :ref:`Specific_Parent_Type_Invariant` * :ref:`Specific_Pre_Post` * :ref:`Specific_Type_Invariants` * :ref:`Style_Checks` * :ref:`Subprogram_Access` * :ref:`Suspicious_Equalities` * :ref:`Too_Many_Dependencies` * :ref:`Too_Many_Generic_Dependencies` * :ref:`Too_Many_Parents` * :ref:`Too_Many_Primitives` * :ref:`Trivial_Exception_Handlers` * :ref:`Unassigned_OUT_Parameters` * :ref:`Unavailable_Body_Calls` * :ref:`Unchecked_Address_Conversions` * :ref:`Unchecked_Conversions_As_Actuals` * :ref:`Uncommented_BEGIN` * :ref:`Uncommented_BEGIN_In_Package_Bodies` * :ref:`Uncommented_End_Record` * :ref:`Unconditional_Exits` * :ref:`Unconstrained_Array_Returns` * :ref:`Unconstrained_Arrays` * :ref:`Uninitialized_Global_Variables` * :ref:`Universal_Ranges` * :ref:`Unnamed_Blocks_And_Loops` * :ref:`Unnamed_Exits` * :ref:`Use_Array_Slices` * :ref:`Use_Case_Statements` * :ref:`USE_Clauses` * :ref:`Use_For_Loops` * :ref:`Use_For_Of_Loops` * :ref:`Use_If_Expressions` * :ref:`Use_Memberships` * :ref:`USE_PACKAGE_Clauses` * :ref:`Use_Ranges` * :ref:`Use_Record_Aggregates` * :ref:`Use_Simple_Loops` * :ref:`Use_While_Loops` * :ref:`Variable_Scoping` * :ref:`Visible_Components` * :ref:`Volatile_Objects_Without_Address_Clauses` * :ref:`Warnings`