M.1 Specific Documentation Requirements
1/2
In
addition to implementation-defined characteristics, each Ada implementation
must document various properties of the implementation:
1.a/2
Ramification: Most
of the items in this list require documentation only for implementations
that conform to Specialized Needs Annexes.
2/2
3/2
The set of values that a
user-defined Allocate procedure needs to accept for the Alignment parameter.
How the standard storage pool is chosen, and how storage is allocated
by standard storage pools. See 13.11(22).
4/2
The algorithm used for random
number generation, including a description of its period. See A.5.2(44).
5/2
The minimum time interval
between calls to the time-dependent Reset procedure that is guaranteed
to initiate different random number sequences. See A.5.2(45).
6/2
The conditions under which
Io_Exceptions.Name_Error, Io_Exceptions.Use_Error, and Io_Exceptions.Device_Error
are propagated. See A.13(15).
7/2
The behavior of package Environment_Variables
when environment variables are changed by external mechanisms. See A.17(30/2).
8/2
The overhead of calling machine-code
or intrinsic subprograms. See C.1(6).
9/2
The types and attributes
used in machine code insertions. See C.1(7).
10/2
The subprogram calling conventions
for all supported convention identifiers. See C.1(8/3).
11/2
The mapping between the Link_Name
or Ada designator and the external link name. See C.1(9).
12/2
The treatment of interrupts. See C.3(22).
13/2
The metrics for interrupt
handlers. See C.3.1(16).
14/3
If the Ceiling_Locking policy
is in effect, the default ceiling priority for a protected object that
specifies contains an interrupt handler aspect pragma.
See
C.3.2(24/3).
15/2
Any circumstances when the
elaboration of a preelaborated package causes code to be executed. See C.4(12).
16/2
Whether a partition can be
restarted without reloading. See C.4(13).
17/2
The effect of calling Current_Task
from an entry body or interrupt handler. See C.7.1(19).
18/2
For package Task_Attributes,
limits on the number and size of task attributes, and how to configure
any limits. See C.7.2(19).
19/2
The metrics for the Task_Attributes
package. See C.7.2(27).
20/2
The details of the configuration
used to generate the values of all metrics. See D(2).
21/2
The maximum priority inversion
a user task can experience from the implementation. See D.2.3(12/2).
22/2
The amount of time that a
task can be preempted for processing on behalf of lower-priority tasks. See D.2.3(13/2).
23/2
The quantum values supported
for round robin dispatching. See D.2.5(16/2).
24/2
The accuracy of the detection
of the exhaustion of the budget of a task for round robin dispatching. See D.2.5(17/2).
25/2
Any conditions that cause
the completion of the setting of the deadline of a task to be delayed
for a multiprocessor. See D.2.6(32/2).
26/2
Any conditions that cause
the completion of the setting of the priority of a task to be delayed
for a multiprocessor. See D.5.1(12.1/2).
27/2
The metrics for Set_Priority. See D.5.1(14).
28/2
The metrics for setting the
priority of a protected object. See D.5.2(10).
29/2
On a multiprocessor, any
conditions that cause the completion of an aborted construct to be delayed
later than what is specified for a single processor. See D.6(3).
30/2
The metrics for aborts. See D.6(8).
31/2
The values of Time_First,
Time_Last, Time_Span_First, Time_Span_Last, Time_Span_Unit, and Tick
for package Real_Time. See D.8(33).
32/2
The properties of the underlying
time base used in package Real_Time. See
D.8(34).
33/2
Any synchronization of package
Real_Time with external time references. See D.8(35).
34/2
Any aspects of the external
environment that could interfere with package Real_Time. See D.8(36/1).
35/2
The metrics for package Real_Time. See D.8(45).
36/2
37/2
The minimum difference between
the value of the delay expression of a delay_until_statement
and the value of Real_Time.Clock, that causes the task to actually be
blocked. See D.9(8).
38/2
The metrics for delay statements. See D.9(13).
39/2
The upper bound on the duration
of interrupt blocking caused by the implementation. See D.12(5).
40/2
The metrics for entry-less
protected objects. See D.12(12).
41/2
The values of CPU_Time_First,
CPU_Time_Last, CPU_Time_Unit, and CPU_Tick of package Execution_Time. See D.14(21/2).
42/3
The properties of the mechanism
used to implement package Execution_Time,
including the values of the constants defined in the package.
See
D.14(22/2).
43/2
The metrics for execution
time. See D.14(27).
44/2
The metrics for timing events. See D.15(24).
44.1/3
The processor(s) on which
the clock interrupt is handled; the processors on which each Interrupt_Id
can be handled. See D.16.1(32).
45/2
Whether the RPC-receiver
is invoked from concurrent tasks, and if so, the number of such tasks. See E.5(25).
46/2
Any techniques used to reduce
cancellation errors in Numerics.Generic_Real_Arrays shall be documented. See G.3.1(86/2).
47/2
Any techniques used to reduce
cancellation errors in Numerics.Generic_Complex_Arrays shall be documented. See G.3.2(155/2).
48/2
If a pragma
Normalize_Scalars applies, the implicit initial values of scalar subtypes
shall be documented. Such a value should be an invalid representation
when possible; any cases when is it not shall be documented. See H.1(5/2).
49/2
The range of effects for
each bounded error and each unspecified effect. If the effects of a given
erroneous construct are constrained, the constraints shall be documented. See H.2(1).
50/2
For each inspection point,
a mapping between each inspectable object and the machine resources where
the object's value can be obtained shall be provided. See H.3.2(8).
51/2
If a pragma Restrictions(No_Exceptions)
is specified, the effects of all constructs where language-defined checks
are still performed. See H.4(25).
52/2
The interrupts to which a
task entry may be attached. See J.7.1(12).
53/2
The type of entry call invoked
for an interrupt entry. See J.7.1(13).
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe