Version 1.7 of ai12s/amd2xcon.txt

Unformatted version of ai12s/amd2xcon.txt version 1.7
Other versions for file ai12s/amd2xcon.txt

!comment This file contains Corrigendum conflicts for Amendment 3 (Ada 202x).
!comment Conflicts occur when multiple issues change the same
!comment paragraph of the standard.
!comment This file (and the reading of it in the program) would need to
!comment be changed for a new Corrigendum or Amendment.
!comment The paragraphs must be in sorted order!!
!corrigendum 1.2(3/2)
!AI-0058-1
!AI-0224-1
@drepl ISO/IEC 1539-1:2004, @i<Information technology @emdash Programming languages @emdash Fortran @emdash Part 1: Base language>. @dby ISO/IEC 1539-1:2018, @i<Information technology @emdash Programming languages @emdash Fortran @emdash Part 1: Base language>.
!corrigendum 4.3.1(17/3)
!AI-0086-1
!AI-0127-1
@drepl The value of a discriminant that governs a @fa<variant_part> @i<P> shall be given by a static expression, unless @i<P> is nested within a @fa<variant> @i<V> that is not selected by the discriminant value governing the @fa<variant_part> enclosing @i<V>. @dby For a @fa<record_aggregate> or @fa<extension_aggregate>, if a @fa<variant_part> @i<P> is nested within a @fa<variant> @i<V> that is not selected by the discriminant value governing the @fa<variant_part> enclosing @i<V>, then there is no restriction on the discriminant governing @i<P>. Otherwise, the value of the discriminant that governs @i<P> shall be given by a static expression, or by a nonstatic expression having a constrained static nominal subtype. In this latter case of a nonstatic expression, there shall be exactly one @fa<discrete_choice_list> of @i<P> that covers each value that belongs to the nominal subtype and satisfies the predicates of the subtype, and there shall be at least one such value.
!corrigendum 4.3.3(17/3)
!AI-0061-1
!AI-0127-1
@drepl The @fa<discrete_choice_list> of an @fa<array_component_association> is allowed to have a @fa<discrete_choice> that is a nonstatic @fa<choice_expression> or that is a @fa<subtype_indication> or @fa<range> that defines a nonstatic or null range, only if it is the single @fa<discrete_choice> of its @fa<discrete_choice_list>, and there is only one @fa<array_component_association> in the @fa<array_aggregate>. @dby The @fa<discrete_choice_list> of an @fa<array_component_association> (including an @fa<iterated_component_association>) is allowed to have a @fa<discrete_choice> that is a nonstatic @fa<choice_expression> or that is a @fa<subtype_indication> or @fa<range> that defines a nonstatic or null range, only if it is the single @fa<discrete_choice> of its @fa<discrete_choice_list>, and either there is only one @fa<array_component_association> in the enclosing @fa<array_component_association_list> or the enclosing @fa<aggregate> is an @fa<array_delta_aggregate>, not an @fa<array_aggregate>.
!corrigendum 5.5.2(5/4)
!AI-0156-1
!AI-0183-1
@drepl The subtype defined by the @fa<subtype_indication>, if any, of an array component iterator shall statically match the component subtype of the type of the @i<iterable_>@fa<name>. The subtype defined by the @fa<subtype_indication>, if any, of a container element iterator shall statically match the default element subtype for the type of the @i<iterable_>@fa<name>. @dby The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of a generalized iterator shall statically match the iteration cursor subtype. The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of an array component iterator shall statically match the component subtype of the type of the @i<iterable_>@fa<name>. The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of a container element iterator shall statically match the default element subtype for the type of the @i<iterable_>@fa<name>.
!corrigendum 13.1(9/4)
!AI-0181-1
!AI-0222-1
@drepl A representation item that directly specifies an aspect of an entity shall appear before the entity is frozen (see 13.14). In addition, a representation item that directly specifies an aspect of a subtype or type shall appear after the type is completely defined (see 3.11.1). @dby A representation item or operational item that directly specifies an aspect of an entity shall appear before the entity is frozen (see 13.14).
!corrigendum 13.1(9.1/4)
!AI-0181-1
!AI-0222-1
@drepl An operational item that directly specifies an aspect of an entity shall appear before the entity is frozen (see 13.14). @dby An @fa<expression> or @fa<name> that freezes an entity shall not occur within an @fa<aspect_specification> that specifies a representation or operational aspect of that entity.
A representation aspect of a subtype or type shall not be specified (whether by a representation item or an @fa<aspect_specification>) before the type is completely defined (see 3.11.1).
!corrigendum 13.1.1(17/3)
!AI-0064-2
!AI-0194-1
@drepl There are no language-defined aspects that may be specified on a @fa<renaming_declaration>, a @fa<generic_formal_parameter_declaration>, a @fa<subunit>, a @fa<package_body>, a @fa<task_body>, a @fa<protected_body>, or a @fa<body_stub> other than a @fa<subprogram_body_stub>. @dby There are no language-defined aspects that may be specified on a @fa<renaming_declaration>, a @fa<subunit>, a @fa<package_body>, a @fa<task_body>, a @fa<protected_body>, an @fa<entry_body>, or a @fa<body_stub> other than a @fa<subprogram_body_stub>.
!corrigendum 13.1.1(18.3/4)
!AI-0206-1
!AI-0211-1
@drepl If a nonoverridable aspect is directly specified for a type @i<T>, then any explicit specification of that aspect for any other descendant of @i<T> shall be @i<confirming>; that is, the specified @fa<name> shall @i<match> the inherited aspect, meaning that the specified @fa<name> shall denote the same declarations as would the inherited @fa<name>. @dby If a nonoverridable aspect is directly specified for a type @i<T>, then any explicit specification of that aspect for any descendant of @i<T> (other than @i<T> itself) shall be @i<confirming>. In the case of an aspect whose value is a @fa<name>, this means that the specified @fa<name> shall @i<match> the inherited aspect in the sense that it shall denote the same declarations as would the inherited @fa<name>.
!corrigendum 13.14(3/4)
!AI-0155-1
!AI-0168-1
@drepl The end of a @fa<declarative_part>, @fa<protected_body>, or a declaration of a library package or generic library package, causes @i<freezing> of each entity and profile declared within it, except for incomplete types. A @fa<proper_body>, @fa<body_stub>, or @fa<entry_body> causes freezing of each entity and profile declared before it within the same @fa<declarative_part> that is not an incomplete type; it only causes freezing of an incomplete type if the body is within the immediate scope of the incomplete type. @dby The end of a @fa<declarative_part>, @fa<protected_body>, or a declaration of a library package or generic library package, causes @i<freezing> of each entity and profile declared within it. A noninstance @fa<proper_body>, @fa<body_stub>, or @fa<entry_body> causes freezing of each entity and profile declared before it within the same @fa<declarative_part>.
!corrigendum D.4(7/2)
!AI-0163-1
!AI-0183-1
@drepl Two queuing policies, FIFO_Queuing and Priority_Queuing, are language defined. If no Queuing_Policy pragma applies to any of the program units comprising the partition, the queuing policy for that partition is FIFO_Queuing. The rules for this policy are specified in 9.5.3 and 9.7.1. @dby Three queuing policies, FIFO_Queuing, Ordered_FIFO_Queuing, and Priority_Queuing, are language defined. If no Queuing_Policy pragma applies to any of the program units comprising the partition, the queuing policy for that partition is FIFO_Queuing. The rules for the FIFO_Queuing policy are specified in 9.5.3 and 9.7.1.
The Ordered_FIFO_Queuing policy is defined as follows:
@xbullet<Calls are selected on a given entry queue in order of arrival.>
@xbullet<When more than one condition of an @fa<entry_barrier> of a protected object becomes True, and more than one of the respective queues is nonempty, the call that arrived first is selected.>
@xbullet<If the expiration time of two or more open @fa<delay_alternative>s is the same and no other @fa<accept_alternative>s are open, the @fa<sequence_of_statements> of the @fa<delay_alternative> that is first in textual order in the @fa<selective_accept> is executed.>
@xbullet<When more than one alternative of a @fa<selective_accept> is open and has queued calls, the alternative whose queue has the call that arrived first is selected.>

Questions? Ask the ACAA Technical Agent