CVS difference for ai12s/ai12-0191-1.txt

Differences between 1.12 and version 1.13
Log of other versions for file ai12s/ai12-0191-1.txt

--- ai12s/ai12-0191-1.txt	2019/05/11 00:35:20	1.12
+++ ai12s/ai12-0191-1.txt	2019/05/14 07:03:41	1.13
@@ -218,6 +218,96 @@
 @fa<expression> is necessary (see 3.3.1). A component cannot have an 
 indefinite nominal subtype.
 
+!corrigendum 3.9.1(4.1/2)
+
+@dinsa
+A record extension is a @i<null extension> if its declaration
+has no @fa<known_discriminant_part> and its @fa<record_extension_part>
+includes no @fa<component_declaration>s.
+@dinst
+In the case where the (compile-time) view of an object @i<X> is of a
+tagged type T1 or T1'Class and the (run-time) tag of @i<X> is T2'Tag,
+only the components (if any) of @i<X> that are components of T1
+(or that are discriminants which correspond to a discriminant
+of T1) are said to be @i<components of the nominal type> of @i<X>.
+Similarly, only parts (respectively, subcomponents) of T1 are parts
+(respectively, subcomponents) of the nominal type of @i<X>.
+
+
+!corrigendum 7.3.2(10.1/4)
+
+@drepl
+@xbullet<After successful explicit initialization of the completion of a
+deferred constant with a part of type @i<T>, if the completion is inside
+the immediate scope of the full view of @i<T>, and the deferred constant
+is visible outside the immediate scope of @i<T>, the check is performed on
+the part(s) of type @i<T>;>
+@dby
+@xbullet<After successful explicit initialization of the completion of a
+deferred constant whose nominal type has a part of type @i<T>, 
+if the completion is inside
+the immediate scope of the full view of @i<T>, and the deferred constant
+is visible outside the immediate scope of @i<T>, the check is performed on
+the part(s) of type @i<T>;>
+
+!corrigendum 7.3.2(15/4)
+
+@drepl
+@xbullet<After a successful call on the Read or Input stream attribute of
+the type @i<T>, the check is performed on the object initialized by the
+stream attribute;>
+@dby
+@xbullet<Upon successful return from a call on any subprogram or entry which is
+type-invariant preserving for @i<T>, an invariant check is
+performed on each part of the nominal type of the object that has type @i<T> 
+which is subject to an invariant check
+for @i<T>. In the case of a call to a protected operation, the check is
+performed before the end of the protected action. In the case of a call
+to a task entry, the check is performed before the end of the rendezvous;>
+
+
+!corrigendum 13.13.2(9/3)
+
+@drepl
+For elementary types, Read reads (and Write writes) the number of stream
+elements implied by the Stream_Size for the type @i<T>; the representation of
+those stream elements is implementation defined.
+For composite types, the Write or Read attribute for
+each component is called in canonical order, which is last dimension varying
+fastest for an array (unless the convention of the array is
+Fortran, in which case it is first dimension varying fastest),
+and positional aggregate order for a record. Bounds are
+not included in the stream if @i<T> is an array type. If @i<T> is a
+discriminated type, discriminants are included only if they have defaults.
+If @i<T> is a tagged type, the tag is not included. For type extensions, the
+Write or Read attribute for the parent type is called, followed by the Write
+or Read attribute of each component of the extension part, in canonical order.
+For a limited type extension, if the attribute of the parent type or any
+progenitor type of @i<T> is available anywhere within the immediate scope of
+@i<T>, and the attribute of the parent type or the type of any of the extension
+components is not available at the freezing point of @i<T>, then the attribute
+of @i<T> shall be directly specified.
+@dby
+For elementary types, Read reads (and Write writes) the number of stream
+elements implied by the Stream_Size for the type @i<T>; the representation of
+those stream elements is implementation defined.
+For composite types, the Write or Read attribute for each component (excluding
+those, if any, that are not components of the nominal type of the object) is 
+called in canonical order, which is last dimension varying
+fastest for an array (unless the convention of the array is
+Fortran, in which case it is first dimension varying fastest),
+and positional aggregate order for a record. Bounds are
+not included in the stream if @i<T> is an array type. If @i<T> is a
+discriminated type, discriminants are included only if they have defaults.
+If @i<T> is a tagged type, the tag is not included. For type extensions, the
+Write or Read attribute for the parent type is called, followed by the Write
+or Read attribute of each component of the extension part, in canonical order.
+For a limited type extension, if the attribute of the parent type or any
+progenitor type of @i<T> is available anywhere within the immediate scope of
+@i<T>, and the attribute of the parent type or the type of any of the extension
+components is not available at the freezing point of @i<T>, then the attribute
+of @i<T> shall be directly specified.
+
 !ASIS
 
 No ASIS effect.

Questions? Ask the ACAA Technical Agent