411 REFERENCE · Wikibooks
Ada Programming/Pragmas/Suppress
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Pragmas Suppress
__TOC__
Summary
The pragma Suppress suppresses compiler-generated run-time checks. If a run-time check is disabled, an exception may be suppressed and undefined behavior could result. pragma Suppress is used at the programmer's risk.
Checks that may be suppressed are:
Access_Check - Check for dereference of a null access value. Constraint_Error suppressed.
Accessibility_Check - Check for access of inaccessible object or subprogram. Program_Error suppressed.
Discriminant_Check - Check for access of an unavailable component in a discriminant record (given the discriminant). Constraint_Error suppressed.
Division_Check - Checks for divide by zero. Constraint_Error suppressed.
Elaboration_Check - Checks for unelaborated package or subprogram body. Program_Error suppressed.
Index_Check - Check for out-of-range array index. Constraint_Error suppressed.
Length_Check - Check for array length violation. Constraint_Error suppressed.
Overflow_Check - Check for numeric overflow. Constraint_Error suppressed.
Range_Check - Check of scalar variable for out-of-range values. Constraint_Error suppressed.
Storage_Check - Check for sufficient storage space to accommodate subprogram call. Storage_Error suppressed.
Tag_Check - Checks for invalid object tag. Constraint_Error suppressed.
All_Checks - All the above checks
Example
My_Array : Array ( 1 .. 100 ) of Integer;
Suppress( Index_Check );
...
Some_Variable := My_Array( 1000 ); Erroneous execution, here we come!
See also
Wikibook
Ada Programming/Pragmas/Unsuppress
Ada Reference Manual
11 5 Suppressing Checks
Ada 2005 Reference Manual
J 10 Specific Suppression of Checks
Ada Quality and Style Guide
10 7 6 Pragma Suppress
5 9 5 Suppression of Exception Check
Suppress