CVS difference for ai05s/ai05-0193-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai05s/ai05-0193-1.txt

--- ai05s/ai05-0193-1.txt	2009/11/04 06:26:38	1.2
+++ ai05s/ai05-0193-1.txt	2009/12/01 18:56:46	1.3
@@ -1,6 +1,11 @@
-!standard  13.11(1/2)                                  09-11-03  AI05-0193-1/01
+!standard  13.11(16/2)                                  09-11-30  AI05-0193-1/02
+!standard  13.11(21)
 !standard  13.11.1 (0)
+!standard  13.11.1 (1)
+!standard  13.11.1 (2)
+!standard  13.11.1 (3)
 !class amendment 09-11-03
+!status ARG Approved 10-0-1  09-11-08
 !status work item 09-11-03
 !status received 09-06-16
 !priority Low
@@ -63,7 +68,8 @@
 
 !wording
 
-In 13.11(1/36), replace
+In the Implementation Requirements added by AI05-0107-1 (which replaces
+paragraph 13.11(16/2)), replace
      The Alignment parameter is D'Alignment if D is a specific type,
      and otherwise is the alignment of the specific type identified by
      the tag of the object being created.
@@ -102,26 +108,103 @@
     any calls on Allocate that could be performed to provide space for
     coextensions associated with these discriminants.
 
-Update Annex K accordingly.
+Update Annex K accordingly. [This is done automatically; we generally don't
+mention changes to Annex K, L, M, P, and Q unless they don't appear anywhere
+else. - ED.]
 
 !discussion
 
-(presented in Steve's standard grocery list form)
-
-Obviously the name of the new attribute is subject to change.
-For purposes of discussion, "Max_Alignment_For_Allocation" seems better than
-"Foo".
-
-Is there any point in mentioning a lower bound on the value of the Alignment
-parameter; should the first sentence of the new wording for 13.6(16/2) be
-omitted? Compare the analogous wording for the Size_In_Storage_Elements
-parameter:
+We mention the lower bound on the value of the Alignment parameter mainly to explain
+the purpose of the Alignment parameter. We could have used vaguer wording like that
+used for the Size_In_Storage_Elements parameter:
    The Size_In_Storage_Elements parameter indicates the number of
    storage elements to be allocated, and is no more than
    D'Max_Size_In_Storage_Elements, where D is the designated subtype.
+But such wording would have the effect of eliminating any requirements on the parameter
+(in particular those discussed in AI05-0116-1), and that is not intended by this AI.
 
 The phrase "associated with these discriminants" is intended to include the case
 of a coextension of a coextension.
+
+!corrigendum 13.11(21)
+
+@Comment{A partial change intended to force a conflict; the real text is found
+in the conflict file. This only changes 13.11(21.5/3).}
+@drepl
+For one of the calls of Allocate described above, @i<P> (equivalent to @i<T>'Storage_Pool)
+is passed as the Pool parameter. The Size_In_Storage_Elements parameter indicates the
+number of storage elements to be allocated, and is no more than
+@i<D>'Max_Size_In_Storage_Elements, where @i<D> is the designated subtype of @i<T>.
+The Alignment parameter is @i<D>'Alignment if @i<D> is a specific
+type, and otherwise is the alignment of the specific type identified by
+the tag of the object being created. The result returned in the Storage_Address parameter
+is used as the address of the allocated storage, which is a contiguous block of memory
+of Size_In_Storage_Elements storage elements. Any exception propagated
+by Allocate is propagated by the construct that contained the call. 
+@dby
+For one of the calls of Allocate described above, @i<P> (equivalent to @i<T>'Storage_Pool)
+is passed as the Pool parameter. The Size_In_Storage_Elements parameter indicates the
+number of storage elements to be allocated, and is no more than
+@i<D>'Max_Size_In_Storage_Elements, where @i<D> is the designated subtype of @i<T>.
+The Alignment parameter is at least @i<D>'Alignment if @i<D> is a specific
+type, and otherwise is at least the alignment of the specific type identified by
+the tag of the object being created. The Alignment parameter is no more than
+@i<D>'Max_Alignment_For_Allocation. The result returned in the Storage_Address parameter
+is used as the address of the allocated storage, which is a contiguous block of memory
+of Size_In_Storage_Elements storage elements. Any exception propagated
+by Allocate is propagated by the construct that contained the call. 
+
+!corrigendum 13.11.1(0)
+
+@drepl
+The Max_Size_In_Storage_Elements Attribute
+@dby
+Storage Allocation Attributes
+
+!corrigendum 13.11.1(1)
+
+@drepl
+The Max_Size_In_Storage_Units attribute is useful in writing user-defined
+pool types.
+@dby
+The Max_Size_In_Storage_Units and Max_Alignment_For_Allocation
+attributes may be useful in writing user-defined pool types.
+
+!corrigendum 13.11.1(2)
+
+@drepl
+For every subtype S, the following attribute is defined: 
+@dby
+For every subtype S, the following attributes are defined:
+
+!corrigendum 13.11.1(3)
+
+@drepl
+@xhang<@xterm<S'Max_Size_In_Storage_Elements>
+Denotes the maximum value for Size_In_Storage_Elements that could be
+requested by the implementation via Allocate for an access type whose
+designated subtype is S. For a type with access discriminants, if the
+implementation allocates space for a coextension in the same pool as
+that of the object having the access discriminant, then this accounts
+for any calls on Allocate that could be performed to provide space for
+such coextensions. The value of this attribute is of type universal_integer.>
+@dby
+@xhang<@xterm<S'Max_Size_In_Storage_Elements>
+Denotes the maximum value for Size_In_Storage_Elements that could be
+requested by the implementation via Allocate for an access type whose
+designated subtype is S. The value of this attribute is of type
+universal_integer.
+
+@xhang<@xterm<S'Max_Alignment_For_Allocation>
+Denotes the maximum value for Alignment that could be requested
+by the implementation via Allocate for an access type whose
+designated subtype is S. The value of this attribute is of type
+universal_integer.>
+
+For a type with access discriminants, these attributes account for
+any calls on Allocate that could be performed to provide space for
+coextensions associated with these discriminants.
+
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent