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