M.1 Specific Documentation Requirements
1/2
{documentation
requirements (summary of requirements)} {documentation
(required of an implementation)} 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).
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/2
- If the Ceiling_Locking
policy is in effect, the default ceiling priority for a protected object
that contains an interrupt handler pragma. See C.3.2(24/2).
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
- The minimum
value of the delay expression of a delay_relative_statement
that causes a task to actually be blocked. See D.9(7).
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/2
- The properties
of the mechanism used to implement package Execution_Time. 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).
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).