Version 1.9 of ais/conflict.txt
!comment This file contains Corrigendum conflicts for Corrigendum 1.
!comment Conflicts occur when multiple defect reports 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.
!comment The paragraphs must be in sorted order!!
!corrigendum 7.06.01 (13)
!AI-00182
!AI-00169
@drepl
The anonymous objects created by function calls and by @fa<aggregate>s are
finalized no later than the end of the innermost enclosing @fa<declarative_item>
or @fa<statement>; if that is a @fa<compound_statement>, they are finalized
before starting the execution of any @fa<statement> within the
@fa<compound_statement>.
@dby
If the @fa<object_name> in an @fa<object_renaming_declaration>, or the actual
parameter for a generic formal @b<in out> parameter in a
@fa<generic_instantiation>, denotes any part of an anonymous object created by
a function call, the anonymous object is not finalized until after
it is no longer accessible via any name. Otherwise, an anonymous
object created by a function call or by an @fa<aggregate> is finalized no later
than the end of the innermost enclosing @fa<declarative_item>
or @fa<statement>; if that is a @fa<compound_statement>, the object is
finalized before starting the execution of any @fa<statement> within the
@fa<compound_statement>.
If a transfer of control or raising of an exception
occurs prior to performing a finalization of an anonymous object, the
anonymous object is finalized as part of the finalizations due to be
performed for the object's innermost enclosing master.
!corrigendum 8.03 (26)
!AI-00044
!AI-00150
@drepl
An explicit declaration is illegal if there is a homograph occurring
immediately within the same declarative region that is visible at the place
of the declaration, and is not hidden from all visibility by the explicit
declaration. Similarly, the @fa<context_clause> for a @fa<subunit> is illegal if it
mentions (in a @fa<with_clause>) some library unit, and there is a homograph of
the library unit that is visible at the place of the corresponding stub, and
the homograph and the mentioned library unit are both declared immediately
within the same declarative region. These rules also apply to dispatching
operations declared in the visible part of an instance of a generic unit.
However, they do not apply to other overloadable declarations in an instance;
such declarations may have type conformant profiles in the instance, so long
as the corresponding declarations in the generic were not type conformant.
@dby
A non-overridable declaration is illegal if there is a homograph occurring
immediately within the same declarative region that is visible at the place
of the declaration, and is not hidden from all visibility by the non-overridable
declaration. In addition, a type extension is illegal if somewhere within
its immediate scope it has two visible components with the same name. Similarly,
the @fa<context_clause> for a @fa<subunit> is illegal if it
mentions (in a @fa<with_clause>) some library unit, and there is a homograph of
the library unit that is visible at the place of the corresponding stub, and
the homograph and the mentioned library unit are both declared immediately
within the same declarative region. These rules also apply to dispatching
operations declared in the visible part of an instance of a generic unit.
However, they do not apply to other overloadable declarations in an instance;
such declarations may have type conformant profiles in the instance, so long
as the corresponding declarations in the generic were not type conformant.
!corrigendum 8.05.04 (5)
!AI-00135
!AI-00145
@drepl
The profile of a renaming-as-body shall be subtype-conformant with that
of the renamed callable entity, and shall conform fully to that of the
declaration it completes. If the renaming-as-body completes that declaration
before the subprogram it declares is frozen, the subprogram it declares takes
its convention from the renamed subprogram; otherwise the convention of the
renamed subprogram shall not be Intrinsic.
@dby
The profile of a renaming-as-body shall conform fully to that of the
declaration it completes. If the renaming-as-body completes that declaration
before the subprogram it declares is frozen, the profile shall be
mode-conformant with that of the renamed callable entity and the subprogram
it declares takes its convention from the renamed subprogram; otherwise, the
profile shall be subtype-conformant with that of the renamed callable entity
and the convention of the renamed subprogram shall not be Intrinsic.
A renaming-as-body is illegal if the declaration occurs before the subprogram
whose declaration it completes is frozen, and the renaming renames the
subprogram itself, through one or more subprogram renaming declarations,
none of whose subprograms has been frozen.
!corrigendum 8.05.04 (8)
!AI-00064
!AI-00135
@drepl
For a call on a renaming of a dispatching subprogram that is overridden,
if the overriding occurred before the renaming, then the body executed is
that of the overriding declaration, even if the overriding declaration is not
visible at the place of the renaming; otherwise, the inherited or predefined
subprogram is called.
@dby
For a call to a subprogram whose body is given as a renaming-as-body, the
execution of the renaming-as-body is equivalent to the execution of a
@fa<subprogram_body> that simply calls the renamed subprogram with its formal
parameters as the actual parameters and, if it is a function, returns the value
of the call.
For a call on a renaming of a dispatching subprogram that is overridden,
if the overriding occurred before the renaming, then the body executed is
that of the overriding declaration, even if the overriding declaration is not
visible at the place of the renaming; otherwise, the inherited or predefined
subprogram is called.
@i<@s8<Bounded (Run-Time) Errors>>@hr
If a subprogram directly or indirectly renames itself, then it is a bounded
error to call that subprogram. Possible consequences are that Program_Error
or Storage_Error is raised, or that the call results in infinite recursion.
!corrigendum 13.01(11)
!AI-00137
!AI-00117
@drepl
Representation aspects of a generic formal parameter are the same as
those of the actual. A type-related representation item is not allowed for a
descendant of a generic formal untagged type.
@dby
Operational and representation aspects of a generic formal parameter are the
same as those of the actual. Operational and representation aspects of a
partial view are the same as those of the full view. A type-related
representation item is not allowed for a descendant of a generic formal
untagged type.
!corrigendum 13.12(9)
!AI-00130
!AI-00190
@dinsa
An implementation may place limitations on the values of the @fa<expression>
that are supported, and limitations on the supported combinations of
restrictions. The consequences of violating such limitations are
implementation defined.
@dinss
An implementation is permitted to omit restriction checks for code that is
recognized at compile time to be unreachable and for which no code is generated.
Whenever enforcement of a restriction is not required prior to
execution, an implementation may nevertheless enforce the restriction prior to
execution of a partition to which the restriction applies, provided
that every execution of the partition would violate the restriction.
!corrigendum A.12.01 (36)
!AI-00026
!AI-00001
@drepl
The Flush procedure synchronizes the external file with the internal file (by
flushing any internal buffers) without closing the file or changing the
position. Mode_Error is propagated if the mode of the file is In_File.
@dby
@s8<@i<Erroneous Execution>>@hr
If the File_Type object passed to the Stream function
is later closed or finalized, and the stream-oriented attributes are
subsequently called (explicitly or implicitly) on the Stream_Access value
returned by Stream, execution is erroneous. This rule applies even if the
File_Type object was opened again after it had been closed.
!corrigendum E.02.02 (9)
!AI-00004
!AI-00164
@drepl
An access type declared in the visible part of a remote types or remote
call interface library unit is called a @i<remote access type>. Such a type
shall be either an access-to-subprogram type or a general access type that
designates a class-wide limited private type.
@dby
An access type declared in the visible part of a remote types or remote
call interface library unit is called a @i<remote access type>. Such a type
shall be:
@xbullet<an access-to-subprogram type, or>
@xbullet<a general access type that designates a class-wide limited private type
or a class-wide private type extension all of whose ancestors are either private
type extensions or limited private types.>
A type that is derived from a remote access type is also a remote access type.
Questions? Ask the ACAA Technical Agent