The Ada language allows for
certain machine dependences in a controlled manner. Each
Ada implementation must document all implementation-defined characteristics:
1.a
Ramification: It
need not document unspecified characteristics.
1.b
Some of the items in this list
require documentation only for implementations that conform to Specialized
Needs Annexes.
2
Whether or not each recommendation given in Implementation
Advice is followed. See 1.1.2(37).
3
Capacity limitations of the implementation. See 1.1.3(3).
4
Variations from the standard that are impractical to avoid
given the implementation's execution environment. See 1.1.3(6).
5
Which code_statements
cause external interactions. See 1.1.3(10).
6
The coded representation for the text of an Ada program.
See 2.1(4).
7
The control functions allowed in comments. See 2.1(14).
8
The representation for an end of line. See 2.2(2).
9
Maximum supported line length and lexical element length.
See 2.2(14).
10
Implementation-defined pragmas. See 2.8(14).
11
Effect of pragma Optimize. See 2.8(27).
12
The sequence of characters of the value returned by S'Image
when some of the graphic characters of S'Wide_Image are not defined in
Character. See 3.5(37).
13
The predefined integer types declared in Standard. See
3.5.4(25).
14
Any nonstandard integer types and the operators defined
for them. See 3.5.4(26).
15
Any nonstandard real types and the operators defined for
them. See 3.5.6(8).
16
What combinations of requested decimal precision and range
are supported for floating point types. See 3.5.7(7).
17
The predefined floating point types declared in Standard.
See 3.5.7(16).
18
The small of an ordinary fixed point type. See 3.5.9(8).
19
What combinations of small, range, and digits
are supported for fixed point types. See 3.5.9(10).
20
The result of Tags.Expanded_Name for types declared within
an unnamed block_statement. See
3.9(10).
21
Implementation-defined attributes. See 4.1.4(12/1).
22
Any implementation-defined time types. See 9.6(6).
23
The time base associated with relative delays. See 9.6(20).
24
The time base of the type Calendar.Time. See 9.6(23).
25
The timezone used for package Calendar operations. See
9.6(24).
26
Any limit on delay_until_statements
of select_statements. See 9.6(29).
27
Whether or not two nonoverlapping parts of a composite
object are independently addressable, in the case where packing, record
layout, or Component_Size is specified for the object. See 9.10(1).
28
The representation for a compilation.
See 10.1(2).
29
Any restrictions on compilations
that contain multiple compilation_units.
See 10.1(4).
30
The mechanisms for creating an environment and for adding
and replacing compilation units. See 10.1.4(3).
31
The implementation-defined means, if any, of specifying
which compilation units are needed by a given compilation unit. See 10.2(2).
32
The manner of explicitly assigning library units to a partition.
See 10.2(2).
33
The manner of designating the main subprogram of a partition.
See 10.2(7).
34
The order of elaboration of library_items.
See 10.2(18).
35
Parameter passing and function return for the main subprogram.
See 10.2(21).
36
The mechanisms for building and running partitions. See
10.2(24).
37
The details of program execution, including program termination.
See 10.2(25).
38
The semantics of any nonactive partitions supported by
the implementation. See 10.2(28).
39
The information returned by Exception_Message. See 11.4.1(10).
40
The result of Exceptions.Exception_Name for types declared
within an unnamed block_statement.
See 11.4.1(12).
41
The information returned by Exception_Information. See
11.4.1(13).
42
Implementation-defined check names. See 11.5(27).
43
Any restrictions placed upon representation items. See
13.1(20).
44
The interpretation of each aspect of representation. See
13.1(20).
45
The meaning of Size for indefinite subtypes. See 13.3(48).
46
The default external representation for a type tag. See
13.3(75/1).
47
What determines whether a compilation unit is the same
in two different partitions. See 13.3(76).
48
Implementation-defined components. See 13.5.1(15).
49
If Word_Size = Storage_Unit, the default bit ordering.
See 13.5.3(5).
50
The contents of the visible part of package System and
its language-defined children. See 13.7(2).
51
The contents of the visible part of package System.Machine_Code,
and the meaning of code_statements.
See 13.8(7).
52
The effect of unchecked conversion. See 13.9(11).
53
Whether or not the implementation provides user-accessible
names for the standard pool type(s). See 13.11(17).
54
The manner of choosing a storage pool for an access type
when Storage_Pool is not specified for the type. See 13.11(17).
55
The meaning of Storage_Size. See 13.11(18).
56
Implementation-defined aspects of storage pools. See 13.11(22).
57
The set of restrictions
allowed in a pragma Restrictions.
See 13.12(7).
58
The consequences of violating limitations on Restrictions
pragmas. See 13.12(9).
59
The representation used by the Read and Write attributes
of elementary types in terms of stream elements. See 13.13.2(9).
60
The names and characteristics of the numeric subtypes declared
in the visible part of package Standard. See A.1(3).
61
The accuracy actually achieved by the elementary functions.
See A.5.1(1).
62
The sign of a zero result from some of the operators or
functions in Numerics.Generic_Elementary_Functions, when Float_Type'Signed_Zeros
is True. See A.5.1(46).
63
The value of Numerics.Discrete_Random.Max_Image_Width.
See A.5.2(27).
64
The value of Numerics.Float_Random.Max_Image_Width. See
A.5.2(27).
65
The algorithms for random number generation. See A.5.2(32).
66
The string representation of a random number generator's
state. See A.5.2(38).
67
The minimum time interval between calls to the time-dependent
Reset procedure that are guaranteed to initiate different random number
sequences. See A.5.2(45).
68
The values of the Model_Mantissa, Model_Emin, Model_Epsilon,
Model, Safe_First, and Safe_Last attributes, if the Numerics Annex is
not supported. See A.5.3(72).
69
Any implementation-defined characteristics of the input-output
packages. See A.7(14).
70
The value of Buffer_Size in Storage_IO. See A.9(10).
71
external files for standard input, standard output, and
standard error See A.10(5).
72
The accuracy of the value produced by Put. See A.10.9(36).
72.1/1
Current size for a stream file for which positioning
is not supported. See A.12.1(1.1/1).
73
The meaning of Argument_Count, Argument, and Command_Name.
See A.15(1).
74
Implementation-defined convention names. See B.1(11).
75
The manner of choosing link names when neither the link
name nor the address of an imported or exported entity is specified.
See B.1(36).
76
The meaning of link names. See B.1(36).
77
The effect of pragma Linker_Options. See B.1(37).
78
The contents of the visible part of package Interfaces
and its language-defined descendants. See B.2(1).
79
Implementation-defined children of package Interfaces.
The contents of the visible part of package Interfaces. See B.2(11).
79.1/1
The definitions of types and constants in Interfaces.C.
See B.3(41).
80/1
The types Floating, Long_Floating, Binary, Long_Binary,
Decimal_Element, and COBOL_Character; and the initializations of the
variables Ada_To_COBOL and COBOL_To_Ada, in Interfaces.COBOL.
See B.4(50).
80.1/1
The types Fortran_Integer, Real, Double_Precision, and
Character_Set in Interfaces.Fortran. See B.5(17).
81
Support for access to machine instructions. See C.1(1).
82
Implementation-defined aspects of access to machine operations.
See C.1(9).
83
Implementation-defined aspects of interrupts. See C.3(2).
84
Implementation-defined aspects of preelaboration. See C.4(13).
85
The semantics of pragma Discard_Names. See C.5(7).
86
The result of the Task_Identification.Image attribute.
See C.7.1(7).
87
The value of Current_Task when in a protected entry or
interrupt handler. See C.7.1(17).
88
The effect of calling Current_Task from an entry body or
interrupt handler. See C.7.1(19).
88.1/1
Granularity of locking for Task_Attributes. See
C.7.2(16/1).
89/1
Limits on the number and size of task attributes, and
how to configure them.Implementation-defined aspects of Task_Attributes.
See C.7.2(19).
90
Values of all Metrics. See D(2).
91
The declarations of Any_Priority and Priority. See D.1(11).
92
Implementation-defined execution resources. See D.1(15).
93
Whether, on a multiprocessor, a task that is waiting for
access to a protected object keeps its processor busy. See D.2.1(3).
94
The affect of implementation defined execution resources
on task dispatching. See D.2.1(9).
95
Implementation-defined policy_identifiers
allowed in a pragma Task_Dispatching_Policy.
See D.2.2(3).
96
Implementation-defined aspects of priority inversion. See
D.2.2(16).
97
Implementation defined task dispatching. See D.2.2(18).
98
Implementation-defined policy_identifiers
allowed in a pragma Locking_Policy.
See D.3(4).
99
Default ceiling priorities. See D.3(10).
100
The ceiling of any protected object used internally by
the implementation. See D.3(16).
101
Implementation-defined queuing policies. See D.4(1/1).
102
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).
103
Any operations that implicitly require heap storage allocation.
See D.7(8).
104
Implementation-defined aspects of pragma Restrictions.
See D.7(20).
105
Implementation-defined aspects of package Real_Time. See
D.8(17).
106
Implementation-defined aspects of delay_statements.
See D.9(8).
107
The upper bound on the duration of interrupt blocking caused
by the implementation. See D.12(5).
108
The means for creating and executing distributed programs.
See E(5).
109
Any events that can result in a partition becoming inaccessible.
See E.1(7).
110
The scheduling policies, treatment of priorities, and management
of shared resources between partitions in certain cases. See E.1(11).
111/1
This paragraph was deleted.Events
that cause the version of a compilation unit to change. See E.3(5/1).
112
Whether the execution of the remote subprogram is immediately
aborted as a result of cancellation. See E.4(13).
113
Implementation-defined aspects of the PCS. See E.5(25).
114
Implementation-defined interfaces in the PCS. See E.5(26).
115
The values of named numbers in the package Decimal. See
F.2(7).
116
The value of Max_Picture_Length in the package Text_IO.Editing
See F.3.3(16).
117
The value of Max_Picture_Length in the package Wide_Text_IO.Editing
See F.3.4(5).
118
The accuracy actually achieved by the complex elementary
functions and by other complex arithmetic operations. See G.1(1).
119
The sign of a zero result (or a component thereof) from
any operator or function in Numerics.Generic_Complex_Types, when Real'Signed_Zeros
is True. See G.1.1(53).
120
The sign of a zero result (or a component thereof) from
any operator or function in Numerics.Generic_Complex_Elementary_Functions,
when Complex_Types.Real'Signed_Zeros is True. See G.1.2(45).
121
Whether the strict mode or the relaxed mode is the default.
See G.2(2).
122
The result interval in certain cases of fixed-to-float
conversion. See G.2.1(10).
123
The result of a floating point arithmetic operation in
overflow situations, when the Machine_Overflows attribute of the result
type is False. See G.2.1(13).
124
The result interval for division (or exponentiation by
a negative exponent), when the floating point hardware implements division
as multiplication by a reciprocal. See G.2.1(16).
125
The definition of close result set, which determines
the accuracy of certain fixed point multiplications and divisions. See
G.2.3(5).
126
Conditions on a universal_real operand of a fixed
point multiplication or division for which the result shall be in the
perfect result set. See G.2.3(22).
127
The result of a fixed point arithmetic operation in overflow
situations, when the Machine_Overflows attribute of the result type is
False. See G.2.3(27).
128
The result of an elementary function reference in overflow
situations, when the Machine_Overflows attribute of the result type is
False. See G.2.4(4).
129
The accuracy of certain elementary functions for parameters
beyond the angle threshold. See G.2.4(10).
130
The value of the angle threshold, within which certain
elementary functions, complex arithmetic operations, and complex elementary
functions yield results conforming to a maximum relative error bound.
See G.2.4(10).
131
The result of a complex arithmetic operation or complex
elementary function reference in overflow situations, when the Machine_Overflows
attribute of the corresponding real type is False. See G.2.6(5).
132
The accuracy of certain complex arithmetic operations and
certain complex elementary functions for parameters (or components thereof)
beyond the angle threshold. See G.2.6(8).
133
Information regarding bounded errors and erroneous execution.
See H.2(1).
134
Implementation-defined aspects of pragma Inspection_Point.
See H.3.2(8).
135
Implementation-defined aspects of pragma Restrictions.
See H.4(25).
136
Any restrictions on pragma Restrictions. See H.4(27).