.. _List_of_Rules:

*************
List of Rules
*************

This section contains an alphabetized list of all the predefined
GNATcheck rules.

*
  :ref:`Abstract_Type_Declarations`

*
  :ref:`Anonymous_Arrays`

*
  :ref:`Anonymous_Subtypes`

*
  :ref:`Blocks`

*
  :ref:`Boolean_Relational_Operators`

*
  :ref:`Complex_Inlined_Subprograms`

*
  :ref:`Conditional_Expressions`

*
  :ref:`Controlled_Type_Declarations`

*
  :ref:`Declarations_In_Blocks`

*
  :ref:`Deep_Inheritance_Hierarchies`

*
  :ref:`Deeply_Nested_Generics`

*
  :ref:`Deeply_Nested_Inlining`

*
  :ref:`Default_Parameters`

*
  :ref:`Direct_Calls_To_Primitives`

*
  :ref:`Discriminated_Records`

*
  :ref:`Enumeration_Ranges_In_CASE_Statements`

*
  :ref:`Exceptions_As_Control_Flow`

*
  :ref:`Exits_From_Conditional_Loops`

*
  :ref:`EXIT_Statements_With_No_Loop_Name`

*
  :ref:`Expanded_Loop_Exit_Names`

*
  :ref:`Explicit_Full_Discrete_Ranges`

*
  :ref:`Float_Equality_Checks`

*
  :ref:`Forbidden_Attributes`

*
  :ref:`Forbidden_Pragmas`

*
  :ref:`Function_Style_Procedures`

*
  :ref:`Generics_In_Subprograms`

*
  :ref:`GOTO_Statements`

*
  :ref:`Implicit_IN_Mode_Parameters`

*
  :ref:`Implicit_SMALL_For_Fixed_Point_Types`

*
  :ref:`Improperly_Located_Instantiations`

*
  :ref:`Improper_Returns`

*
  :ref:`Maximum_Parameters`

*
  :ref:`Library_Level_Subprograms`

*
  :ref:`Local_Packages`

*
  :ref:`Metrics_Cyclomatic_Complexity`

*
  :ref:`Metrics_Essential_Complexity`

*
  :ref:`Metrics_LSLOC`

*
  :ref:`Misnamed_Controlling_Parameters`

*
  :ref:`Identifier_Suffixes`

*
  :ref:`Multiple_Entries_In_Protected_Definitions`

*
  :ref:`Name_Clashes`

*
  :ref:`Non_Qualified_Aggregates`

*
  :ref:`Non_Short_Circuit_Operators`

*
  :ref:`Non_SPARK_Attributes`

*
  :ref:`Non_Tagged_Derived_Types`

*
  :ref:`Non_Visible_Exceptions`

*
  :ref:`Numeric_Literals`

*
  :ref:`OTHERS_In_Aggregates`

*
  :ref:`OTHERS_In_CASE_Statements`

*
  :ref:`OTHERS_In_Exception_Handlers`

*
  :ref:`Outer_Loop_Exits`

*
  :ref:`Overloaded_Operators`

*
  :ref:`Overly_Nested_Control_Structures`

*
  :ref:`Parameters_Out_Of_Order`

*
  :ref:`Positional_Actuals_For_Defaulted_Generic_Parameters`

*
  :ref:`Positional_Actuals_For_Defaulted_Parameters`

*
  :ref:`Positional_Components`

*
  :ref:`Positional_Generic_Parameters`

*
  :ref:`Positional_Parameters`

*
  :ref:`Predefined_Numeric_Types`

*
  :ref:`Quantified_Expressions`

*
  :ref:`Raising_External_Exceptions`

*
  :ref:`Raising_Predefined_Exceptions`

*
  :ref:`Separate_Numeric_Error_Handlers`

*
  :ref:`Slices`

*
  :ref:`Too_Many_Parents`

*
  :ref:`Unassigned_OUT_Parameters`

*
  :ref:`Uncommented_BEGIN_In_Package_Bodies`

*
  :ref:`Recursive_Subprograms`

*
  :ref:`Unconditional_Exits`

*
  :ref:`Unconstrained_Array_Returns`

*
  :ref:`Universal_Ranges`

*
  :ref:`Unnamed_Blocks_And_Loops`

*
  :ref:`USE_PACKAGE_Clauses`

*
  :ref:`Visible_Components`

*
  :ref:`Volatile_Objects_Without_Address_Clauses`
