pragma Validity_Checks (string_LITERAL | ALL_CHECKS | On | Off);
This pragma is used in conjunction with compiler switches to control the
built-in validity checking provided by GNAT. The compiler switches, if set
provide an initial setting for the switches, and this pragma may be used
to modify these settings, or the settings may be provided entirely by
the use of the pragma. This pragma can be used anywhere that a pragma
is legal, including use as a configuration pragma (including use in
The form with a string literal specifies which validity options are to be activated. The validity checks are first set to include only the default reference manual settings, and then a string of letters in the string specifies the exact set of options required. The form of this string is exactly as described for the `-gnatVx' compiler switch (see the GNAT User’s Guide for details). For example the following two methods can be used to enable validity checking for mode in and in out subprogram parameters:
pragma Validity_Checks ("im");
$ gcc -c -gnatVim ...
The form ALL_CHECKS activates all standard checks (its use is equivalent to the use of the gnatva switch.
The forms with Off and On can be used to temporarily disable validity checks as shown in the following example:
pragma Validity_Checks ("c"); -- validity checks for copies pragma Validity_Checks (Off); -- turn off validity checks A := B; -- B will not be validity checked pragma Validity_Checks (On); -- turn validity checks back on A := C; -- C will be validity checked