Pragma Validity_Checks (GNAT Reference Manual)

### 2.204 Pragma Validity_Checks ¶

Syntax:

    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 `gnat.adc` file).

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