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

Differences between 1.15 and version 1.16
Log of other versions for file ai12s/ai12-0127-1.txt

--- ai12s/ai12-0127-1.txt	2017/11/22 03:59:04	1.15
+++ ai12s/ai12-0127-1.txt	2017/11/30 04:18:01	1.16
@@ -1,9 +1,11 @@
-!standard 4.3(2)                                    17-10-14    AI12-0127-1/09
+!standard 4.3(2)                                    17-11-21    AI12-0127-1/10
 !standard 4.3(4)
 !standard 4.3.3(3)
 !standard 4.3.4(0)
 !standard 7.5(2.10/3)
 !class Amendment 14-08-21
+!status Amendment 1-2012 17-11-21
+!status ARG Approved 8-0-0  17-10-14
 !status work item 14-08-21
 !status received 14-07-14
 !priority Medium
@@ -73,12 +75,17 @@
                 array_aggregate     |
                 delta_aggregate
 
-Delete 4.3(3)
+Replace 4.3(3):
 
-   The expected type for an aggregate shall be a single array type,
-   record type, or record extension.
+  The expected type for an aggregate shall be a single array type,
+  record type, or record extension.
 
-[This deletes the name resolution rule that is common to all forms of aggregates]
+with:
+
+  The expected type for a delta_aggregate shall be a single array type, or
+  a single descendant of a record type or of a record extension.
+  The expected type for any other aggregate shall be a single array type,
+  record type, or record extension.
 
 Replace 4.3(4):
   An aggregate shall not be of a class-wide type.
@@ -87,16 +94,6 @@
   A record aggregate or extension aggregate shall not be of a class-wide
   type.
 
-Replace 4.3.1(3)
-
-   The expected type for a record_aggregate shall be a single record type or
-   record extension.
-
-with
-
-   The expected type for a record aggregate shall be a single array type,
-   record type, or record extension.
-
 Add after 4.3.1(9):
 
   Each selector_name in a record_component_association of a
@@ -109,49 +106,6 @@
 Rules to prevent giving the same component twice ("distinct" below) and 
 giving components from two variants.]
 
-Add a new legality rule (at the start of the legality rules section,
-ahead of 4.3.1(14))
-
-   The type of a record_aggregate shall be a record type or
-   record extension.
-
-Replace 4.3.2(4/2)
-
-   The expected type for an extension_aggregate shall be a single type
-   that is a record extension. If the ancestor_part is an expression,
-   it is expected to be of any tagged type.
-
-with
-
-   The expected type for an extension_aggregate shall be a single array
-   type, record type, or record extension.  If the ancestor_part is an
-   expression, it is expected to be of any tagged type.
-
-Add a new legality rule (at the start of the legality rules section,
-ahead of 4.3.2(5/3))
-
-   The type of an extension_aggregate shall be a record extension.
-
-Replace 4.3.3(7/2)
-
-   The expected type for an array_aggregate (that is not a subaggregate)
-   shall be a single array type. The component type of this array type is
-   the expected type for each array component expression of the
-   array_aggregate.
-
-with
-
-   The expected type for an array_aggregate (that is not a subaggregate)
-   shall be a single array type, record type, or record_extension. The
-   component type of this array type is the expected type for each array
-   component expression of the array_aggregate.
-
-Add a new legality rule (at the start of the legality rules section,
-ahead of 4.3.3(9))
-
-   The type of an array_aggregate that is not a subaggregate shall
-   be an array type.
-
 Replace 4.3.3(3):
   named_array_aggregate ::=
     (array_component_association {, array_component_association})
@@ -161,14 +115,12 @@
 
   array_component_association_list ::=
     array_component_association {, array_component_association}
-
-Replace 4.3.3(17/5):
 
-In 4.3.3(17/5) replace
+In 4.3.3(17/5) replace:
    ... only if it is the single discrete_choice of its
    discrete_choice_list, and there is only one
    array_component_association in the array_aggregate.
-with
+with:
    ...  only if it is the single discrete_choice of its
    discrete_choice_list, and either there is only one
    array_component_association in the
@@ -200,9 +152,11 @@
     (*base_*expression with delta array_component_association_list)
 
 Name Resolution Rules
+
+The expected type for a record_delta_aggregate shall be a single record type
+or record extension.
 
-The expected type for a delta_aggregate shall be a single array
-type or a single descendant of a record type or of a record extension.
+The expected type for an array_delta_aggregate shall be a single array type.
 
 The expected type for the *base_*expression of any delta_aggregate is
 the type of the enclosing delta_aggregate.
@@ -223,11 +177,6 @@
 
 Legality Rules
 
-The type of a record_delta_aggregate shall be a descendant of a
-record type or of a record_extension.
-
-The type of an array_delta_aggregate shall be an array type.
-
 For a record_delta_aggregate, a record_component_association_list
 shall not be null record. A record_component_association of the
 record_component_association_list of a record_delta_aggregate
@@ -236,10 +185,8 @@
 
 For a record_delta_aggregate, each component_selector_name of each
 component_choice_list shall denote a distinct nondiscriminant component of
-the type of the delta aggregate.
-
-No two such component_selectors shall denote components declared
-within different variants of the same variant part.
+the type of the delta aggregate. No two such component_selectors shall
+denote components declared within different variants of the same variant part.
 
 The types of components in record_component_associations follow the same
 rules as they do for record aggregates (see 4.3.1).

Questions? Ask the ACAA Technical Agent