Next: gnatcheck Annotations Rules, Up: Rule exemption
Annotate to Control Rule Exemption
Rule exemption is controlled by pragma Annotate when its first
argument is “gnatcheck”. The syntax of gnatcheck's
exemption control annotations is as follows:
pragma Annotate (gnatcheck, exemption_control, Rule_Name, [justification]);
exemption_control ::= Exempt_On | Exempt_Off
Rule_Name ::= string_literal
justification ::= string_literal
When a gnatcheck annotation has more then four arguments, gnatcheck issues a warning and ignores the additional arguments. If the additional arguments do not follow the syntax above, gnatcheck emits a warning and ignores the annotation.
The Rule_Name argument should be the name of some existing
gnatcheck rule.
Otherwise a warning message is generated and the pragma is
ignored. If Rule_Name denotes a rule that is not activated by the given
gnatcheck call, the pragma is ignored and no warning is issued.
A source code section where an exemption is active for a given rule is
delimited by an exempt_on and exempt_off annotation pair:
pragma Annotate (gnatcheck, Exempt_On, Rule_Name, "justification");
-- source code section
pragma Annotate (gnatcheck, Exempt_Off, Rule_Name);