CVS difference for ais/ai-00230.txt

Differences between 1.25 and version 1.26
Log of other versions for file ais/ai-00230.txt

--- ais/ai-00230.txt	2005/06/16 23:47:13	1.25
+++ ais/ai-00230.txt	2005/08/21 06:00:15	1.26
@@ -1,4 +1,4 @@
-!standard 03.04.01(06)                               05-05-16  AI95-00230/17
+!standard 03.04.01(06)                               05-08-08  AI95-00230/18
 !standard 03.02.01(07)
 !standard 03.02.01(08)
 !standard 03.04.01(10)
@@ -25,7 +25,9 @@
 !standard 08.05.01(03)
 !standard 08.05.01(06)
 !standard 08.06(25)
+!standard 13.7.2(25)
 !standard 13.11(25)
+!standard A.1(34)
 !class amendment 00-04-13
 !status Amendment 200Y 04-01-09
 !status WG9 Approved 04-06-18
@@ -355,6 +357,8 @@
 
    ...when T is a[n] {specific} anonymous access type ...
 
+Remove parenthetical remark from 13.7.2(5) [null has type universal_access now].
+
 Replace paragraph 13.11(25) by:
 
    The storage pool used for an allocator of an anonymous
@@ -365,14 +369,25 @@
       object being created by an outer allocator, then the storage pool used
       for the outer allocator should also be used for the allocator
       initializing the access discriminant;
-
-    * Otherwise, the storage pool should be created at the point of the
-      allocator, and be reclaimed when the allocated object becomes
-      inaccessible.
 
+    * For other access discriminants and access parameters, the storage pool
+      should be created at the point of the allocator, and be reclaimed when
+      the allocated object becomes inaccessible;
+
+    * Otherwise, a default storage pool should be created at
+      the point where the anonymous access type is elaborated; such a
+      storage pool need not support deallocation of individual objects.
 
   AARM: Delete the first sentence of 13.11(17.c); it isn't true even in Ada 95.
 
+Add after A.1(34):
+
+   -- The type universal_access is predefined.
+   -- The following equality operators are predefined:
+
+   function "="  (Left, Right: universal_access) return Boolean;
+   function "/=" (Left, Right: universal_access) return Boolean;
+
 !example
 
     type Obj is record
@@ -775,7 +790,6 @@
 subprogram, or, in the case of an access-to-object type, an @fa<allocator>,
 which returns an access value designating a newly created object (see 3.10.2).
 
-@dby
 
 !corrigendum 3.10(17)
 
@@ -981,6 +995,24 @@
 designated type @i<D>, to an access-to-variable type whose designated type is
 @i<D>'Class or is covered by @i<D>.>
 
+!corrigendum 13.7.2(5)
+
+@drepl
+The To_Pointer and To_Address subprograms convert back and forth between values
+of types Object_Pointer and Address. To_Pointer(X'Address) is equal to
+X'Unchecked_Access for any X that allows Unchecked_Access.
+To_Pointer(Null_Address) returns @b<null>. For other addresses, the behavior is
+unspecified. To_Address(@b<null>) returns Null_Address (for @b<null> of the
+appropriate type). To_Address(Y), where Y /= @b<null>, returns
+Y.@b<all>'Address.
+@dby
+The To_Pointer and To_Address subprograms convert back and forth between values
+of types Object_Pointer and Address. To_Pointer(X'Address) is equal to
+X'Unchecked_Access for any X that allows Unchecked_Access.
+To_Pointer(Null_Address) returns @b<null>. For other addresses, the behavior is
+unspecified. To_Address(@b<null>) returns Null_Address. To_Address(Y),
+where Y /= @b<null>, returns Y.@b<all>'Address.
+
 !corrigendum 13.11(25)
 
 @drepl
@@ -995,9 +1027,25 @@
 object being created by an outer @fa<allocator>, then the storage pool used
 for the outer @fa<allocator> should also be used for the @fa<allocator>
 initializing the access discriminant;>
-@xbullet<Otherwise, the storage pool should be created at the point of the
-@fa<allocator>, and be reclaimed when the allocated object becomes
-inaccessible.>
+@xbullet<For other access discriminants and access parameters, the storage pool
+should be created at the point of the @fa<allocator>, and be reclaimed when
+the allocated object becomes inaccessible;>
+@xbullet<Otherwise, a default storage pool should be created at
+the point where the anonymous access type is elaborated; such a
+storage pool need not support deallocation of individual objects.>
+
+!corrigendum A.1(34)
+
+@dinsa
+@xcode<   @b<function> "/" (Left : @ft<@I<universal_fixed>>; Right : @ft<@I<universal_fixed>>;)
+     @b<return> @ft<@I<universal_fixed>>;>
+@dinss
+@xcode<   -- @ft<@i<The type universal_access is predefined.>>
+   -- @ft<@i<The following equality operators are predefined:>>>
+
+@xcode<   @b<function> "="  (Left, Right: @ft<@i<universal_access>>) @b<return> Boolean;
+   @b<function> "/=" (Left, Right: @ft<@i<universal_access>>) @b<return> Boolean;>
+
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent