adactl [options] unit[+|-unit]|[@]file ... [-- ASIS_options] adactl -h [rule id... | all | commands | license | list | options | rules | version]


AdaControl is an Ada rules controller. It is used to control that Ada software meets the requirements of a number of parameterizable rules. It is not intended to supplement checks made by the compiler, but rather to search for particular violations of good-practice rules, or to check that some rules are obeyed project-wide.

Commercial support is available for AdaControl, see file /usr/share/doc/adacontrol/support.txt. If you plan to use AdaControl for industrial projects, or if you want it to be customized or extended to match your own needs, please contact Adalog at [email protected].



Check rules syntax only. Accepts -d, -f, -l, -v, -x.


Generate dependencies. Accepts -o, -p, -r, -s, -w, -x.


Prints a general help message.

-h rule

Describe rule.

-h all

Describe all rules.

-h commands|license|options|version

Describe all commands, the licence (GPL), the options or the version number.

-h list

List the rules in a format suitable for use inside the GNAT Programming Studio.

-h rules

List the rules in a normal format.


Interactive mode. Accepts all options.



Enable debug mode.


Treat warnings (Search) as errors (Check)


Print only errors (Check).

-f file

Use file for the specification of rules


Choose output format.


Ignore local deactivations.

-l rule...

Process with the specified rules; see below.

-o file

Send output to the specified file.

-p file

Specify an emacs ada-mode project file (.adp)




Only process Ada unit specifications

-S level

Produce statistics; level is an integer in the range 0 .. 4.

-t trace_file

Send a trace to the specified file.


Report execution time of rules.


Treat all parameters as Ada units


Enable verbose mode.


Overwrite output file (works with -o)


Exit when internal error


The following rules are available for the -l option:

   Abnormal_Function_Return        Allocators
   Array_Declarations              Barrier_Expressions
   Case_Statement                  Characters
   Declarations                    Default_Parameter
   Directly_Accessed_Globals       Duplicate_Initialization_Calls
   Entities                        Entity_Inside_Exception
   Exception_Propagation           Expressions
   Global_References               Header_Comments
   Improper_Initialization         Instantiations
   Insufficient_Parameters         Local_Hiding
   Max_Blank_Lines                 Max_Call_Depth
   Max_Line_Length                 Max_Nesting
   Max_Size                        Max_Statement_Nesting
   Movable_Accept_Statements       Multiple_Assignments
   Naming_Convention               Non_Static
   Not_Elaboration_Calls           Not_Selected_Name
   No_Operator_Usage               Object_Declarations
   Other_Dependencies              Parameter_Aliasing
   Parameter_Declarations          Potentially_Blocking_Operations
   Pragmas                         Reduceable_Scope
   Representation_Clauses          Return_Type
   Side_Effect_Parameters          Silent_Exceptions
   Simplifiable_Expressions        Simplifiable_Statements
   Special_Comments                Statements
   Style                           Terminating_Tasks
   Type_Initial_Values             Uncheckable
   Units                           Unnecessary_Use_Clause
   Unsafe_Paired_Calls             Unsafe_Unchecked_Conversion
   Usage                           Use_Clauses


AdaControl was developed by \$2 \(laURL: \$1 \(ra\$3 under contract with The copyright is jointly owned by Adalog and Eurocontrol.

This manual page was written by Ludovic Brenta <[email protected]> and is licensed under terms of the GNU General Public License.

RELATED TO adactl…

AdaControl User's Guide, available in Info, PDF, and HTML in /usr/share/doc/adacontrol.

AdaControl Programmer's Guide, available in Info, PDF, and HTML in /usr/share/doc/adacontrol.