11. List of RulesΒΆ
This section contains an alphabetized list of all the predefined GNATcheck rules.
- Abort_Statements
- Abstract_Type_Declarations
- Address_Specifications_For_Initialized_Objects
- Address_Specifications_For_Local_Objects
- Anonymous_Arrays
- Anonymous_Subtypes
- Binary_Case_Statements
- Bit_Records_Without_Layout_Definition
- Blocks
- Boolean_Relational_Operators
- Complex_Inlined_Subprograms
- Conditional_Expressions
- Constructors
- Controlled_Type_Declarations
- Declarations_In_Blocks
- Deep_Inheritance_Hierarchies
- Deep_Library_Hierarchy
- Deeply_Nested_Generics
- Deeply_Nested_Inlining
- Default_Parameters
- Default_Values_For_Record_Components
- Deriving_From_Predefined_Type
- Direct_Calls_To_Primitives
- Discriminated_Records
- Downward_View_Conversions
- Enumeration_Ranges_In_CASE_Statements
- Enumeration_Representation_Clauses
- Exceptions_As_Control_Flow
- Exits_From_Conditional_Loops
- EXIT_Statements_With_No_Loop_Name
- Expanded_Loop_Exit_Names
- Explicit_Full_Discrete_Ranges
- Expression_Functions
- Fixed_Equality_Checks
- Float_Equality_Checks
- Forbidden_Attributes
- Forbidden_Pragmas
- Function_Style_Procedures
- Generics_In_Subprograms
- GOTO_Statements
- Implicit_IN_Mode_Parameters
- Implicit_SMALL_For_Fixed_Point_Types
- Improperly_Located_Instantiations
- Improper_Returns
- Incomplete_Representation_Specifications
- Maximum_Parameters
- Library_Level_Subprograms
- Local_Packages
- Local_USE_Clauses
- Metrics_Cyclomatic_Complexity
- Metrics_Essential_Complexity
- Metrics_LSLOC
- Misnamed_Controlling_Parameters
- Identifier_Suffixes
- Max_Identifier_Length
- Membership_Tests
- Misplaced_Representation_Items
- Multiple_Entries_In_Protected_Definitions
- Name_Clashes
- Nested_Subprograms
- No_Explicit_Real_Range
- No_Inherited_Classwide_Pre
- No_Scalar_Storage_Order_Specified
- Non_Qualified_Aggregates
- Non_Short_Circuit_Operators
- Non_SPARK_Attributes
- Non_Tagged_Derived_Types
- Non_Visible_Exceptions
- Number_Declarations
- Null_Paths
- Numeric_Indexing
- Numeric_Literals
- Object_Declarations_Out_Of_Order
- Objects_Of_Anonymous_Types
- One_Construct_Per_Line
- OTHERS_In_Aggregates
- OTHERS_In_CASE_Statements
- OTHERS_In_Exception_Handlers
- Outbound_Protected_Assignments
- Outer_Loop_Exits
- Overloaded_Operators
- Overly_Nested_Control_Structures
- Parameters_Out_Of_Order
- POS_On_Enumeration_Types
- Positional_Actuals_For_Defaulted_Generic_Parameters
- Positional_Actuals_For_Defaulted_Parameters
- Positional_Components
- Positional_Generic_Parameters
- Positional_Parameters
- Predicate_Testing
- Predefined_Numeric_Types
- Printable_ASCII
- Relative_Delay_Statements
- Representation_Specifications
- Quantified_Expressions
- Raising_External_Exceptions
- Raising_Predefined_Exceptions
- Separate_Numeric_Error_Handlers
- Single_Value_Enumeration_Types
- Slices
- Specific_Parent_Type_Invariant
- Specific_Pre_Post
- Specific_Type_Invariants
- Subprogram_Access
- Too_Many_Dependencies
- Too_Many_Primitives
- Too_Many_Parents
- Unassigned_OUT_Parameters
- Uncommented_BEGIN_In_Package_Bodies
- Recursive_Subprograms
- Unchecked_Address_Conversions
- Unchecked_Conversions_As_Actuals
- Unconditional_Exits
- Unconstrained_Array_Returns
- Unconstrained_Arrays
- Uninitialized_Global_Variables
- Universal_Ranges
- Unnamed_Blocks_And_Loops
- USE_PACKAGE_Clauses
- Visible_Components
- Volatile_Objects_Without_Address_Clauses