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

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

--- ai12s/ai12-0232-1.txt	2017/10/12 02:30:02	1.3
+++ ai12s/ai12-0232-1.txt	2017/11/30 04:18:02	1.4
@@ -1,6 +1,9 @@
-!standard 10.2.1(9/3)                                   17-10-11  AI12-0232-1/02
-!standard 10.2.1(15.6/3)
+!standard 10.2.1(9/3)                                   17-11-20  AI12-0232-1/03
+!standard 10.2.1(15.1/3)
+!standard 10.2.1(15.5/3)
 !class binding interpretation 17-06-08
+!status Amendment 1-2012 17-11-20
+!status ARG Approved 7-0-1  17-10-13
 !status work item 17-06-08
 !status received 17-06-08
 !priority Low
@@ -35,28 +38,29 @@
 
 !wording
 
-Modify 10.2.1(9/3):
+Add after 10.2.1(9/3):
 
-   * The creation of an object (including a component) that is
-     initialized by default, if its type does not have preelaborable
-     initialization. Similarly, the evaluation of an extension_aggregate
-     with an ancestor subtype_mark denoting a subtype of such a type[.]{;}
-
    * The elaboration of any elaborable construct that is not preelaborable.
 
   A generic declaration is preelaborable unless every instance would perform
   one of the above actions.
 
+Modify 10.2.1(15.1/3):
+
+   A *pure* {program}[compilation] unit is a preelaborable 
+   {program}[compilation] unit whose elaboration does not perform any of the
+   following actions:
+
 Modify 10.2.1(15.5/3):
 
   * the elaboration of the declaration of a nonderived named
     access-to-constant type for which the Storage_Size has been specified
     by an expression other than a static expression with value zero[.]{;}
 
-  * the elaboration of any elaborable construct that is not pure.
+  * {the elaboration of any program unit that is not pure.}
 
-  A generic declaration is pure unless every instance would perform
-  one of the above actions.
+  {A generic declaration is pure unless every instance would perform
+  one of the above actions.}
 
 !discussion
 
@@ -81,7 +85,7 @@
 Then the existing generic body rule clearly applies (and any future rules on
 new kinds of entities will apply as well).
 
-The same solution is proposed for pure.
+A similar solution is proposed for pure.
 
 ---
 
@@ -102,6 +106,44 @@
 every instance would not be, and similar, pure unless every instance would not
 be.
 
+!corrigendum 10.2.1(9/3)
+
+@dinsa
+@xbullet<The creation of an object (including a component) that is initialized
+by default, if its type does not have preelaborable initialization. Similarly,
+the evaluation of an @fa<extension_aggregate> with an ancestor @fa<subtype_mark>
+denoting a subtype of such a type.>
+@dinss
+@xbullet<The elaboration of any elaborable construct that is not preelaborable.>
+
+A generic declaration is preelaborable unless every instance would perform one
+of the above actions.
+
+!corrigendum 10.2.1(15.1/3)
+
+@drepl
+A @i<pure> compilation unit is a preelaborable compilation unit whose
+elaboration does not perform any of the following actions:
+@dby
+A @i<pure> program unit is a preelaborable program unit whose elaboration does
+not perform any of the following actions:
+
+!corrigendum 10.2.1(15.5/3)
+
+@drepl
+@xbullet<the elaboration of the declaration of a nonderived named
+access-to-constant type for which the Storage_Size has been specified
+by an expression other than a static expression with value zero.>
+@dby
+@xbullet<the elaboration of the declaration of a nonderived named
+access-to-constant type for which the Storage_Size has been specified
+by an expression other than a static expression with value zero;>
+
+@xbullet<the elaboration of any program unit that is not pure.>
+
+A generic declaration is pure unless every instance would perform
+one of the above actions.
+
 !ASIS
 
 No ASIS effect.
@@ -694,3 +736,18 @@
 
 ****************************************************************
 
+From: Randy Brukardt
+Sent: Monday, November 20, 2017  5:37 PM
+
+For the record, (consider this to be my editorial review):
+
+This AI proposals that the ending of the existing bullet 10.2.1(9/3) be
+changed from a '.' to a ';'. However, all of the existing bullets
+10.2.1(6-9) end with a period. So 10.2.1(9/3) should not be changed (lest it
+be the only bullet ending with a ';').
+
+Interestingly, the pure bullets 10.2.1(15.2/2 - 15.4/3) do end with ';', so
+the end of 10.2.1(15.5/3) should in fact be changed from '.' to ';'. I love
+how consistent we are in the RM. ;-)
+
+****************************************************************

Questions? Ask the ACAA Technical Agent