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

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0423-1.txt

--- ai12s/ai12-0423-1.txt	2021/01/23 05:57:34	1.2
+++ ai12s/ai12-0423-1.txt	2021/01/27 06:28:28	1.3
@@ -1,4 +1,4 @@
-!standard 6.5.1(3.3/3)                                20-01-21  AI12-0423-1/02
+!standard 6.5.1(3.3/3)                                20-01-26  AI12-0423-1/03
 !standard 13.1(15.7/5)
 !standard 13.1(15.8/5)
 !class binding interpretation 20-01-19
@@ -94,13 +94,74 @@
 have any blanket rules for inheritance of subprogram aspects, so we just
 define what we need here.
 
+!corrigendum 6.5.1(3.3/3)
+
+@drepl
+@xindent<If directly specified, the @fa<aspect_definition> shall be a static expression.
+This aspect is never inherited; if not directly specified, the aspect is False.>
+@dby
+@xindent<If directly specified, the @fa<aspect_definition> shall be a static 
+expression. When not directly specified, if the subprogram is primitive 
+subprogram inherited by a derived type, then the aspect is True if any 
+corresponding subprogram of the parent or progenitor types is nonreturning.
+Otherwise, the aspect is False.>
+
+!corrigendum 13.1(15.1/3)
+
+@drepl
+In contrast, whether operational aspects are inherited by a derived type
+depends on each specific aspect; unless specified, an operational aspect is
+not inherited. When operational aspects are inherited by a derived type,
+aspects that were directly specified by @fa<aspect_specification>s or
+operational items that are visible at the point of the derived type declaration,
+or (in the case where the parent is derived) that were inherited by the parent
+type from the grandparent type are inherited. An inherited operational aspect is
+overridden by a subsequent @fa<aspect_specification> or operational item that
+specifies the same aspect of the type.
+@dby
+In contrast, whether type-related operational aspects are inherited by a 
+derived type depends on each specific aspect; unless specified, an operational
+aspect is not inherited. When type-related operational aspects are inherited 
+by a derived type,
+aspects that were directly specified by @fa<aspect_specification>s or
+operational items that are visible at any point within the immediate scope
+of the derived type declaration,
+or (in the case where the parent is derived) that were inherited by the parent
+type from the grandparent type, are inherited. An inherited operational aspect is
+overridden by an @fa<aspect_specification> or operational item that
+specifies the same aspect of the type.
+
+When a type-related operational aspect is inherited, the rules for
+inheritance depend on the nature of the aspect (see 13.1.1). Unless
+otherwise specified for a given aspect, these rules are as follows:
+
+@xbullet<For an operational aspect that is a value, the inherited aspect has
+the same value;>
+
+@xbullet<For an operational aspect that is a @fa<name>:>
+
+@xinbull<if the @fa<name> denotes one or more primitive subprograms of the
+type, the inherited aspect is a @fa<name> that denotes the corresponding 
+primitive subprogram(s) of the derived type;>
+
+@xinbull<otherwise, the inherited aspect is a @fa<name> that denotes the 
+same entity or entities as the original aspect;>
+
+@xbullet<For an operational aspect that is an identifier specific to the
+aspect, the inherited aspect is the same identifier;>
+
+@xbullet<For an operational aspect that is an @fa<expression> or an 
+@fa<aggregate>, the inherited aspect is a corresponding @fa<expression> or
+@fa<aggregate> where each @fa<name>, value, and identifier follows these same
+rules for inheritance.>
+
 !ASIS
 
 No ASIS effect.
 
 !ACATS test
 
-An ACATS B-Test could be constructed out the example in question (2). For
+An ACATS B-Test could be constructed out of the example in question (2). For
 question (1), no specific tests should be needed, general inhertance tests
 for each aspect should sufficiently cover the rules.
 

Questions? Ask the ACAA Technical Agent