J.15.7 Pragmas Interrupt_Handler and Attach_Handler
Syntax
The form of a
pragma
Interrupt_Handler is as follows:
pragma Interrupt_Handler
(
handler_name);
The form of a
pragma
Attach_Handler is as follows:
Name Resolution Rules
For the Interrupt_Handler and Attach_Handler pragmas,
the
handler_name
shall resolve to denote a protected procedure with a parameterless profile.
For the Attach_Handler pragma, the expected type
for the expression is Interrupts.Interrupt_Id (see
C.3.2).
Legality Rules
The Attach_Handler and Interrupt_Handler pragmas
are only allowed immediately within the
protected_definition
where the corresponding subprogram is declared. The corresponding
protected_type_declaration
or
single_protected_declaration
shall be a library-level declaration, and shall not be declared within
a generic body.
In addition to the places where Legality
Rules normally apply (see
12.3), these rules
also apply in the private part of an instance of a generic unit.
Static Semantics
For an implementation that supports Annex C, a pragma
Interrupt_Handler specifies the Interrupt_Handler aspect (see
C.3.1)
for the protected procedure
handler_name
to have the value True. For an implementation that supports Annex C,
a pragma Attach_Handler specifies the Attach_Handler aspect (see
C.3.1)
for the protected procedure
handler_name
to have the value of the given
expression
as evaluated at object creation time.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe