CVS difference for 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