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

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

--- ai12s/ai12-0409-1.txt	2020/12/04 07:59:30	1.2
+++ ai12s/ai12-0409-1.txt	2020/12/11 22:22:26	1.3
@@ -1,4 +1,4 @@
-!standard 10.2.1(11.6/2)                                20-12-03  AI12-0409-1/01
+!standard 10.2.1(11.6/2)                                20-12-11  AI12-0409-1/02
 !standard 10.2.1(11.7/3)
 !standard 10.2.1(11.8/2)
 !standard A.18.19(5/5)
@@ -8,7 +8,10 @@
 !standard A.18.23(5/5)
 !standard A.18.24(5/5)
 !standard A.18.25(5/5)
+!standard A.18.32(6/5)
 !class Amendment 20-12-03
+!status Amendment 1-2012 20-12-11
+!status ARG Approved 11-0-3  20-12-09
 !status work item 20-12-03
 !status received 20-11-27
 !priority Low
@@ -31,13 +34,13 @@
 
 !proposal
 
-[Editor's note: Argubly, this should be a Binding Interpretation, since the
+[Editor's note: Arguably, this should be a Binding Interpretation, since the
 existing definition of the Bounded containers doesn't make any sense. But for
 that to work, we'd have to reclassify AI12-0399-1 as a Binding Interpretation
 as well (we can't modify the definition of an aspect that doesn't exist ;-).
 I'd suggest we split 399 in that case, as the changes to change pragmas to
 aspects should be part of Ada 202x presentation improvements and not some
-retroactive change.]
+retroactive change. ** I need to do this **]
 
 A bounded container should have Preelaborable_Initialization only if the 
 actual Element_Type (and Key_Type for Maps) has Preelaborable_Initialization.
@@ -153,6 +156,13 @@
       Preelaborable_Initialization =>
         Element_Type'Preelaborable_Initialization
 
+Add after A.18.32(6/5):
+
+  * the aspect_definition for Preelaborable_Initialization is changed to:
+  
+      Preelaborable_Initialization =>
+        Element_Type'Preelaborable_Initialization
+
 !discussion
 
 We debated various ways to address this issue. Although we have abandoned 
@@ -176,6 +186,15 @@
 ACATS B- and C-Tests are needed to check that the new capabilities are
 supported.
 
+We do not want any Ada 2012 tests that require any form of the
+Preelaborable_Initialization aspect to be supported. We also do not want any
+Ada 2012 tests that insist that a bounded container type does not have
+preelaborable initialization for an element type that does not have 
+preelaborable initialization. This is a Binding Interpretation so that it can
+be supported for Ada 2012 compilers, and so that an Ada 2012 compiler
+can write a legal body for a bounded container in Ada. (If the Ada 2012 has
+some other method to make bounded containers legal, we do not want to require
+them to change it.)
 
 !appendix
 

Questions? Ask the ACAA Technical Agent