{implementation defined
(summary of characteristics)}The Ada
language allows for certain machine dependences in a controlled manner.
{documentation (required of an implementation)}Each Ada implementation must document all implementation-defined
characteristics:
1.a
Ramification: {unspecified} {specified
(not!)} 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/2
Whether or not each recommendation
given in Implementation Advice is followed —
see M.3, “Implementation
Advice” for a listing. 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).
5.1/2
The semantics
of an Ada program whose text is not in Normalization Form KC. See 2.1(4.1/2).
6
The coded representation for the text
of an Ada program. See 2.1(4/2).
7/2
This
paragraph was deleted.The control functions
allowed in comments. See 2.1(14/2).
8
The representation for an end of line.
See 2.2(2/2).
9
Maximum supported line length and
lexical element length. See 2.2(14).
The sequence
of characters of the value returned by S'Wide_Image when some of the
graphic characters of S'Wide_Wide_Image are not defined in Wide_Character. See 3.5(30/2).
12/2
The sequence of characters of the
value returned by S'Image when some of the graphic characters of S'Wide_Wide_Image Wide_Image
are not defined in Character. See 3.5(37/2).
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/2).
19
What combinations of small,
range, and digits are supported for fixed point types. See 3.5.9(10).
19.1/2
The sequence
of characters of the value returned by Tags.Expanded_Name (respectively,
Tags.Wide_Expanded_Name) when some of the graphic characters of Tags.Wide_Wide_Expanded_Name
are not defined in Character (respectively, Wide_Character). See 3.9(10.1/2).
20/2
The result of Tags.Wide_Wide_Expanded_Name 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).
21.1/2
Rounding of
real static expressions which are exactly half-way between two machine
numbers. See 4.9(38/2).
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/2
The time zone timezone
used for package Calendar operations. See 9.6(24/2).
26
Any limit on delay_until_statements
of select_statements. See 9.6(29).
26.1/2
The result of
Calendar.Formating.Image if its argument represents more than 100 hours. See 9.6.1(86/2).
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).
29.1/2
The mechanisms
for adding a compilation unit mentioned in a limited_with_clause
to an environment. See 10.1.4(3).
30
The mechanisms for creating an environment
and for adding and replacing compilation units. See 10.1.4(3/2).
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.1/2).
39.1/2
The sequence
of characters of the value returned by Exceptions.Exception_Name (respectively,
Exceptions.Wide_Exception_Name) when some of the graphic characters of
Exceptions.Wide_Wide_Exception_Name are not defined in Character (respectively,
Wide_Character). See 11.4.1(12.1/2).
40/2
The result of Exceptions.Wide_Wide_Exception_Name Exceptions.Exception_Name
for exceptions types
declared within an unnamed block_statement.
See 11.4.1(12).
41
The information returned by Exception_Information.
See 11.4.1(13/2).
41.1/2
Implementation-defined
policy_identifiers allowed in a pragma
Assertion_Policy. See 11.4.2(9/2).
The meaning of Size for indefinite
subtypes. See 13.3(49).
46
The default external representation
for a type tag. See 13.3(76/1).
47
What determines whether a compilation
unit is the same in two different partitions. See 13.3(77).
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/2
The contents of the visible part of
package Systemand its language-defined children.
See 13.7(2).
50.1/2
The range of
Storage_Elements.Storage_Offset, the modulus of Storage_Elements.Storage_Element,
and the declaration of Storage_Elements.Integer_Address.. See 13.7.1(11).
51
The contents of the visible part of
package System.Machine_Code, and the meaning of code_statements.
See 13.8(7).
52/2
The effect of unchecked conversion for instances with nonscalar result types whose effect is not defined
by the language. See 13.9(11).
52.1/2
The result of
unchecked conversion for instances with scalar result types whose result
is not defined by the language. 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/2
This
paragraph was deleted.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/2
The meaning of Storage_Size when neither the Storage_Size nor the Storage_Pool is specified for an
access type. See 13.11(18).
56/2
This
paragraph was deleted.Implementation-defined
aspects of storage pools. See 13.11(22).
57/2
The set of restrictions restrictions
allowed in a pragma Restrictions. See 13.12(7/2).
58
The consequences of violating limitations
on Restrictions pragmas. See 13.12(9).
59/2
The contents
of the stream elements read and written 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).
60.1/2
The values returned
by Strings.Hash. See A.4.9(3/2).
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/2
This
paragraph was deleted.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/2
This
paragraph was deleted.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/2
This
paragraph was deleted.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/2
The external
files associated with the for
standard input, standard output, and standard error files. 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/2
The meaning of Argument_Count, Argument,
and Command_Name for package Command_Line. The
bounds of type Command_Line.Exit_Status. See A.15(1).
73.1/2
The interpretation
of file names and directory names. See A.16(46/2).
73.2/2
The maximum
value for a file size in Directories. See
A.16(87/2).
73.3/2
The result for
Directories.Size for a directory or special file See A.16(93/2).
73.4/2
The result for
Directories.Modification_Time for a directory or special file. See A.16(95/2).
73.5/2
The interpretation
of a non-null search pattern in Directories. See A.16(104/2).
73.6/2
The results
of a Directories search if the contents of the directory are altered
while a search is in progress. See A.16(110/2).
73.7/2
The definition
and meaning of an environment variable. See A.17(1/2).
73.8/2
The circumstances
where an environment variable cannot be defined. See A.17(16/2).
73.9/2
Environment
names for which Set has the effect of Clear. See A.17(17/2).
73.10/2
The value of
Containers.Hash_Type'Modulus. The value of Containers.Count_Type'Last. See A.18.1(7/2).
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).
The contents of the visible part of
package Interfaces and its language-defined descendants. See B.2(1).
79/2
Implementation-defined children of
package Interfaces. The contents of the visible
part of package Interfaces. See B.2(11).
79.1/2
The definitions
of certain 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/2
Implementation-defined
intrinsic subprograms Support for access
to machine instructions. See C.1(1).
82/2
This
paragraph was deleted.Implementation-defined
aspects of access to machine operations. See C.1(9).
83/2
This
paragraph was deleted.Implementation-defined
aspects of interrupts. See C.3(2).
83.1/2
Any restrictions
on a protected procedure or its containing type when a pragma
Attach_handler or Interrupt_Handler applies. See C.3.1(17).
83.2/2
Any other forms
of interrupt handler supported by the Attach_Handler and Interrupt_Handler
pragmas. See C.3.1(19).
84/2
This
paragraph was deleted.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/2
The value of Current_Task when in
a protected entry, or interrupt handler, or finalization of
a task attribute. See C.7.1(17/2).
88/2
This
paragraph was deleted.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/2
This
paragraph was deleted.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/2
This
paragraph was deleted.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/2
The effect affect
of implementation-defined execution resources on task dispatching. See D.2.1(9/2).
95/2
This
paragraph was deleted.Implementation-defined
policy_identifiers
allowed in a pragma Task_Dispatching_Policy. See D.2.2(3/2).
96/2
This
paragraph was deleted.Implementation-defined
aspects of priority inversion. See D.2.2(16/2).
97/2
Implementation defined task dispatching policies. See D.2.2(18).
98
Implementation defined task dispatching.
See D.2.2(18).
98.1/2
The value of
Default_Quantum in Dispatching.Round_Robin. See D.2.5(4).
99
Implementation-defined policy_identifiers
allowed in a pragma Locking_Policy. See D.3(4).
99.1/2
The locking
policy if no Locking_Policy pragma applies to any unit of a partition. See D.3(6).
The ceiling of any protected object
used internally by the implementation. See D.3(16).
102
Implementation-defined queuing policies.
See D.4(1/1).
103/2
This
paragraph was deleted.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).
104
Any operations that implicitly require
heap storage allocation. See D.7(8).
104.1/2
When restriction
No_Task_Termination applies to a partition, what happens when a task
terminates. See D.7(15.1/2).
104.2/2
The behavior
when restriction Max_Storage_At_Blocking is violated. See D.7(17/1).
104.3/2
The behavior
when restriction Max_Asynchronous_Select_Nesting is violated. See D.7(18/1).
104.4/2
The behavior
when restriction Max_Tasks is violated. See D.7(19).
105/2
Whether the
use of Implementation-defined aspects of
pragma Restrictions results in a reduction in program
code or data size or execution time. See D.7(20).
106/2
This
paragraph was deleted.Implementation-defined
aspects of package Real_Time. See D.8(17).
107/2
This
paragraph was deleted.Implementation-defined
aspects of delay_statements. See D.9(8).
108/2
This
paragraph was deleted.The upper bound
on the duration of interrupt blocking caused by the implementation. See D.12(5).
109
The means for creating and executing
distributed programs. See E(5).
110
Any events that can result in a partition
becoming inaccessible. See E.1(7).
111
The scheduling policies, treatment
of priorities, and management of shared resources between partitions
in certain cases. See E.1(11).
112/1
This
paragraph was deleted.Events that cause
the version of a compilation unit to change. See E.3(5/1).
113
Whether the execution of the remote
subprogram is immediately aborted as a result of cancellation. See E.4(13).
113.1/2
The range of
type System.RPC.Partition_Id. See E.5(14).
114/2
This
paragraph was deleted.Implementation-defined
aspects of the PCS. See E.5(25).
115
Implementation-defined interfaces
in the PCS. See E.5(26).
116
The values of named numbers in the
package Decimal. See F.2(7).
117
The value of Max_Picture_Length in
the package Text_IO.Editing See F.3.3(16).
118
The value of Max_Picture_Length in
the package Wide_Text_IO.Editing See F.3.4(5).
118.1/2
The value of
Max_Picture_Length in the package Wide_Wide_Text_IO.Editing See F.3.5(5).
119
The accuracy actually achieved by
the complex elementary functions and by other complex arithmetic operations.
See G.1(1).
120
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).
121
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).
122
Whether the strict mode or the relaxed
mode is the default. See G.2(2).
123
The result interval in certain cases
of fixed-to-float conversion. See G.2.1(10).
124
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).
125
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).
126
The definition of close result
set, which determines the accuracy of certain fixed point multiplications
and divisions. See G.2.3(5).
127
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).
128
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).
129
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).
130
The accuracy of certain elementary
functions for parameters beyond the angle threshold. See G.2.4(10).
131
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).
132
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).
133
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.1/2
The accuracy
requirements for the subprograms Solve, Inverse, Determinant, Eigenvalues
and Eigensystem for type Real_Matrix. See
G.3.1(81/2).
133.2/2
The accuracy
requirements for the subprograms Solve, Inverse, Determinant, Eigenvalues
and Eigensystem for type Complex_Matrix. See G.3.2(149/2).
134/2
This
paragraph was deleted.Information regarding
bounded errors and erroneous execution. See H.2(1).
135/2
This
paragraph was deleted.Implementation-defined
aspects of pragma Inspection_Point. See
H.3.2(8).
136/2
This
paragraph was deleted.Implementation-defined
aspects of pragma Restrictions. See H.4(25).
137/2
This
paragraph was deleted.Any restrictions
on pragma Restrictions. See H.4(27).
137.1/2
Implementation-defined
policy_identifiers allowed in a pragma
Partition_Elaboration_Policy. See H.6(4/2).