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

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

--- ai05s/ai05-0264-1.txt	2011/08/10 23:30:42	1.1
+++ ai05s/ai05-0264-1.txt	2011/08/16 04:21:28	1.2
@@ -1,5 +1,27 @@
-!standard  3.3(23)                               11-08-10    AI05-0264-1/01
+!standard  3.3(23)                               11-08-14    AI05-0264-1/02
 !standard  4.5.2(28)
+!standard  4.5.7(0)
+!standard  6.7(3/2)
+!standard  6.8(0)
+!standard 13.3(73)
+!standard 13.13.2(9/2)
+!standard 13.13.2(56/2)
+!standard A.10.7(8/1)
+!standard A.16(82/2)
+!standard A.18.2(115/2)
+!standard A.18.10(0)
+!standard A.18.19(0)
+!standard A.18.20(0)
+!standard A.18.21(0)
+!standard A.18.22(0)
+!standard A.18.23(0)
+!standard A.18.24(0)
+!standard A.18.25(0)
+!standard A.18.27(0)
+!standard D.2.4(2/2)
+!standard D.14.3(0)
+!standard D.15(15/2)
+!standard D.16(0)
 !class presentation 11-08-10
 !status Amendment 2012 11-08-10
 !status work item 11-08-10
@@ -9,7 +31,7 @@
 !subject Add missing commas and other editorial changes in the standard
 !summary
 
-Make various editorial changes in the Standard.
+Make various editorial changes in the Standard, mostly adding missing commas.
 
 
 !question
@@ -87,8 +109,6 @@
 12.5.1(23)  "otherwise{,} it yields False."
 
 
-13.3.1(8/3) "otherwise{,} the prefix ..."
-
 13.13.2(9.2/2) "otherwise{,} the range is signed."
 
 
@@ -136,7 +156,7 @@
 
 A.15(16) "otherwise{,} Command_Name returns ..."
 
-A.16(81/2) "Otherwise{,} Name is ..."
+A.16(82/2) "Otherwise{,} Name is ..."
 
 A.17(13/2) "otherwise{,} it returns False."
 
@@ -240,13 +260,13 @@
 B.3.1(36/1)     "Otherwise{,} Value ..."
 
 
-C.7.3(10/2)     ",{;} otherwise{,} it is set ..."
+C.7.3(10/2)     "[,]{;} otherwise{,} it is set ..."
 
 C.7.3(11/2)     "otherwise{,} it returns null."
 
-C.7.3(12/2)     ",{;} otherwise{,} it is set to ..."
+C.7.3(12/2)     "[,]{;} otherwise{,} it is set to ..."
 
-C.7.3(13/2)     ",{;} otherwise{,} it returns null ..."
+C.7.3(13/2)     "otherwise{,} it returns null ..."
 
 
 D.2.5(8/2)      "otherwise{,} it returns False."
@@ -296,11 +316,11 @@
 
 One instance of "however" that should be followed by a comma:
 -------------------------------------------------------------
-
-6.8    "[,]{.} [however]{However,} an expression_function_declaration ..."
 
-[Note: alternatively, use a ';' instead of ',' before 'however'.]
+6.8(6/3)  "[,]{;} however{,} an expression_function_declaration ..."
 
+[Editor's note: There is a similar case in 6.7(3/3), there are two commas,
+changed the first to a semicolon.]
 
 
 Instances of "then" that should be preceded by a comma:
@@ -375,9 +395,6 @@
 
 A.18.25(15/3)   "following conditions{,} then"
 
-A.19(11/3)      "from the environment{,} then"
-
-A.19(12/3)      "from the environment{,} then"
 
 
 B.3(60.15/1)    "If a type is C_Pass_By_Copy-compatible{,} then"
@@ -470,6 +487,292 @@
 We only have !standard and !corrigendum references for
 paragraphs that are changed by other AIs. Otherwise, we are treating
 these as normal editorial changes.
+
+
+!corrigendum 4.5.2(28)
+
+@drepl
+A membership test using @b<in> yields the result True if: 
+@dby
+An @i<individual membership test> yields the result True if:
+
+@xbullet<The @fa<membership_choice> is a @fa<choice_expression>, and the @fa<simple_expression>
+is equal to the value of the @fa<membership_choice>. If the tested type is a record type
+or a limited type, the test uses the primitive equality for the type; otherwise, the test
+uses predefined equality.>
+
+
+!corrigendum 4.5.7(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+
+!corrigendum 6.7(3/2)
+
+@drepl
+A @fa<null_procedure_declaration> declares a @i<null procedure>.
+A completion is not allowed for a @fa<null_procedure_declaration>.
+@dby
+A @fa<null_procedure_declaration> declares a @i<null procedure>.
+A completion is not allowed for a @fa<null_procedure_declaration>; however
+a @fa<null_procedure_declaration> can complete a previous declaration.
+
+!corrigendum 6.8(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+
+!corrigendum 13.03(73)
+
+@dinsa
+@xbullet<An implementation should support specified Component_Sizes that are factors
+and multiples of the word size. For such Component_Sizes, the array should contain
+no gaps between components. For other Component_Sizes (if supported), the array
+should contain no gaps between components when packing is also specified; the
+implementation should forbid this combination in cases where it cannot support
+a no-gaps representation.>
+@dinss
+(See conflict file for actual wording.)
+
+
+!corrigendum 13.13.2(9/2)
+
+@drepl
+For elementary types, Read reads (and Write writes) the number of stream
+elements implied by the Stream_Size for the type @i<T>; the representation of
+those stream elements is implementation defined.
+For composite types, the Write or Read attribute for
+each component is called in canonical order, which is last dimension varying
+fastest for an array, and positional aggregate order for a record. Bounds are
+not included in the stream if @i<T> is an array type. If @i<T> is a
+discriminated type, discriminants are included only if they have defaults.
+If @i<T> is a tagged type, the tag is not included. For type extensions, the
+Write or Read attribute for the parent type is called, followed by the Write
+or Read attribute of each component of the extension part, in canonical order.
+For a limited type extension, if the attribute of the parent type or any
+progenitor type of @i<T> is available anywhere within the immediate scope of
+@i<T>, and the attribute of the parent type or the type of any of the extension
+components is not available at the freezing point of @i<T>, then the attribute
+of @i<T> shall be directly specified.
+@dby
+For elementary types, Read reads (and Write writes) the number of stream
+elements implied by the Stream_Size for the type @i<T>; the representation of
+those stream elements is implementation defined.
+For composite types, the Write or Read attribute for
+each component is called in canonical order, which is last dimension varying
+fastest for an array (unless the convention of the array is
+Fortran, in which case it is first dimension varying fastest),
+and positional aggregate order for a record. Bounds are
+not included in the stream if @i<T> is an array type. If @i<T> is a
+discriminated type, discriminants are included only if they have defaults.
+If @i<T> is a tagged type, the tag is not included. For type extensions, the
+Write or Read attribute for the parent type is called, followed by the Write
+or Read attribute of each component of the extension part, in canonical order.
+For a limited type extension, if the attribute of the parent type or any
+progenitor type of @i<T> is available anywhere within the immediate scope of
+@i<T>, and the attribute of the parent type or the type of any of the extension
+components is not available at the freezing point of @i<T>, then the attribute
+of @i<T> shall be directly specified.
+
+If @i<T> is a discriminated type and its discriminants have defaults, then
+S'Read first reads the discriminants from the stream without modifying
+@i<Item>. S'Read then creates an object of type @i<T> constrained by these
+discriminants. The value of this object is then converted to the subtype
+of @i<Item> and is assigned to @i<Item>. Finally, the Read attribute for each
+non-discriminant component of @i<Item> is called in canonical
+order as described above. Normal default initialization and finalization
+take place for the created object.   
+
+
+!corrigendum 13.13.2(56/2)
+
+@drepl
+The number of calls performed by the predefined implementation of the stream-oriented
+attributes on the Read and Write operations of the stream type is unspecified. An
+implementation may take advantage of this permission to perform internal buffering.
+However, all the calls on the Read and Write operations of the stream type needed to
+implement an explicit invocation of a stream-oriented attribute must take place before
+this invocation returns. An explicit invocation is one appearing explicitly in the
+program text, possibly through a generic instantiation (see 12.3). 
+@dby
+The number of calls performed by the predefined implementation of the stream-oriented
+attributes on the Read and Write operations of the stream type is unspecified. An
+implementation may take advantage of this permission to perform internal buffering.
+However, all the calls on the Read and Write operations of the stream type needed to
+implement an explicit invocation of a stream-oriented attribute shall take place before
+this invocation returns. An explicit invocation is one appearing explicitly in the
+program text, possibly through a generic instantiation (see 12.3). 
+
+If @i<T> is a discriminated type and its discriminants have defaults, then
+in two cases an execution of the default implementation of S'Read is
+not required to create an anonymous object of type @i<T>: If the discriminants
+values that are read in are equal to the corresponding discriminant values
+of @i<Item>, then no object of type @i<T> need be created and @i<Item> may be used
+instead. If they are not equal and @i<Item> is a constrained variable, then
+Constraint_Error may be raised at that point, before any further values
+are read from the stream and before the object of type @i<T> is created.
+    
+A default implementation of S'Input that calls the default implementation
+of S'Read may create a constrained anonymous object with discriminants
+that match those in the stream. 
+
+
+!corrigendum A.10.7(8/1)
+
+@drepl
+@xindent<Mode_Error is propagated if the mode of the file is not In_File. Sets End_Of_Line
+to True if at end of line, including if at end of page or at end of file; in each
+of these cases the value of Item is not specified. Otherwise End_Of_Line is set
+to False and Item is set to the the next character (without consuming it) from
+the file.>
+@dby
+@xindent<Status_Error is propagated if the file is not open. Mode_Error is
+propagated if the mode of the file is not In_File. Sets End_Of_Line
+to True if at end of line, including if at end of page or at end of file; in each
+of these cases the value of Item is not specified. Otherwise, End_Of_Line is set
+to False and Item is set to the the next character (without consuming it) from
+the file.>
+
+!corrigendum A.16(82/2)
+
+@drepl
+@xindent<Returns the name of the external file with the specified
+Containing_Directory, Name, and Extension. If Extension is the null string, then
+Name is interpreted as a simple name; otherwise Name is interpreted as a base
+name. The exception Name_Error is propagated if the string given as
+Containing_Directory is not null and does not allow the identification of a
+directory, or if the string given as Extension is not null and is not a possible
+extension, or if the string given as Name is not a possible simple name (if
+Extension is null) or base name (if Extension is non-null).>
+@dby
+@xindent<Returns the name of the external file with the specified
+Containing_Directory, Name, and Extension. If Extension is the null string, then
+Name is interpreted as a simple name; otherwise, Name is interpreted as a base
+name. The exception Name_Error is propagated if the string given as
+Containing_Directory is not null and does not allow the identification of a
+directory, or if the string given as Extension is not null and is not a possible
+extension, or if the string given as Name is not a possible simple name (if
+Extension is null) or base name (if Extension is non-null).>
+
+!corrigendum A.18.2(115/2)
+
+@drepl
+Reserve_Capacity allocates new internal data structures such that the length of the
+resulting vector can become at least the value Capacity without requiring an additional
+call to Reserve_Capacity, and is large enough to hold the current length of Container.
+Reserve_Capacity then copies the elements into the new data structures and deallocates
+the old data structures. Any exception raised during allocation is propagated and
+Container is not modified.
+@dby
+If the capacity of Container is already greater than or equal to
+Capacity, then Reserve_Capacity has no effect. Otherwise, 
+Reserve_Capacity allocates additional storage as necessary to ensure that the
+length of the resulting vector can become at least the value Capacity without
+requiring an additional call to Reserve_Capacity, and is large enough
+to hold the current length of Container. Reserve_Capacity then, as necessary,
+moves elements into the new storage and deallocates any storage no longer needed.
+Any exception raised during allocation is propagated and Container is not modified.
+
+!corrigendum A.18.10(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.19(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.20(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.21(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.22(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.23(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.24(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.25(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum A.18.27(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum D.2.4(2/2)
+
+@dinsa
+The @i<policy_>@fa<identifier> Non_Preemptive_FIFO_Within_Priorities is a task
+dispatching policy.
+@dinss
+The following language-defined library package exists:
+
+@xcode<@b<package> Ada.Dispatching.Non_Preemptive @b<is>
+   @b<pragma> Preelaborate(Non_Preemptive);
+   @b<procedure> Yield_To_Higher;
+   @b<procedure> Yield_To_Same_Or_Higher @b<renames> Yield;
+@b<end> Ada.Dispatching.Non_Preemptive;>
+
+A call of Yield_To_Higher is a task dispatching point for this policy. If the
+task at the head of the highest priority ready queue has a higher active
+priority than the calling task, then the calling task is preempted.
+
+
+!corrigendum D.14.3(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
+
+!corrigendum D.15(15/2)
+
+@drepl
+If a procedure Set_Handler is called with zero or negative In_Time or with
+At_Time indicating a time in the past then the handler is executed
+immediately by the task executing the call of Set_Handler. The timing event
+Event is cleared.
+@dby
+If a procedure Set_Handler is called with zero or negative In_Time or with
+At_Time indicating a time in the past, then the handler is executed
+as soon as possible after the completion of the call of Set_Handler.
+
+!corrigendum D.16(0)
+
+@dinsc
+[A placeholder to cause a conflict; the real wording is found in the conflict
+file.]
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent