CVS difference for ais/ai-00127.txt

Differences between 1.7 and version 1.8
Log of other versions for file ais/ai-00127.txt

--- ais/ai-00127.txt	1999/10/08 23:41:05	1.7
+++ ais/ai-00127.txt	1999/11/19 00:09:21	1.8
@@ -1,4 +1,4 @@
-!standard 03.09.02 (07)                               99-10-07  AI95-00127/07
+!standard 03.09.02 (07)                               99-11-18  AI95-00127/08
 !standard 03.09.02 (09)
 !standard 03.10.02 (24)
 !standard 03.10.02 (27)
@@ -71,36 +71,34 @@
 
 Replace 3.10.2(27) with:
 
-    If A is named and D is tagged, then the type of the view shall be
-    covered by D;
-    If A is anonymous and D is tagged, then the type of the view shall be
-    either D'Class, or a type covered by D;
-    If D is not tagged, then the type of the view shall be the same, and
-    either A's designated subtype shall statically match the nominal
-    subtype of the view, or the designated subtype shall be
-    discriminated and unconstrained;
+    If A is a named access type and D is a tagged type, then the type of
+    the view shall be covered by D;
+    if A is anonymous and D is tagged, then the type of the view shall be
+    either D'Class or a type covered by D;
+    if D is untagged, then the type of the view shall be D, and A's designated
+    subtype shall either statically match the nominal subtype of the view or
+    be discriminated and unconstrained;
 
 Modify 4.8(3) in a manner analogous to 3.10.2:
 
     The expected type for an allocator shall be a single
-    access-to-object type whose designated type covers the type
-    determined by the subtype_mark of the subtype_indication or
-    qualified_expression, {or, if the expected type is anonymous,
-    whose designated type is the class-wide type corresponding
-    to the determined type}.
+    access-to-object type with designated type D such that either D
+    covers the type determined by the subtype_mark of the
+    subtype_indication or qualified_expression, or the expected
+    type is anonymous and the determined type is D'Class.
 
 Modify 3.9.2(7) to deal with Access attributes and allocators:
 
     A type_conversion is statically or dynamically tagged according to
     whether the type determined by the subtype_mark is specific or
-    class-wide, respectively.  {A controlling operand of the form
-    X'Access, where X is of a class-wide type, is dynamically tagged.
-    Similarly, a controlling operand of the form new T'(...), where T
-    denotes a class-wide subtype, is dynamically tagged.  For any other}
-    controlling operand that is designated by an actual parameter, the
-    controlling operand is statically or dynamically tagged according to
-    whether the designated type of the actual parameter is specific or
-    class-wide, respectively.
+    class-wide, respectively. For an object that is designated by an
+    expression where the expected type is an anonymous access-to-specific
+    tagged type, the object is dynamically tagged if the expression,
+    ignoring enclosing parentheses, is of the form X'Access, where X is
+    of a class-wide type, or is of the form new T'(...), where T denotes
+    a class-wide subtype. Otherwise, the object is static or dynamically
+    tagged according to whether the designated type of the type of the
+    expression is specific or class-wide, respectively.
 
 Correct 3.9.2(9) for the new definitions of dynamic taggedness:
 
@@ -108,10 +106,9 @@
     type, then the expression or name shall not be dynamically tagged unless
     it is a controlling operand in a call on a dispatching operation.
     Similarly, if the expected type for an expression is an anonymous
-    access-to-specific tagged type, then the expression shall not be
-    [of an access-to-class-wide type]{dynamically tagged}
-    unless it designates a controlling operand in a call on a dispatching
-    operation.
+    access-to-specific tagged type, then the object designated by the
+    expression shall not be dynamically tagged unless it designates a
+    controlling operand in a call on a dispatching operation.
 
 !discussion
 
@@ -208,7 +205,7 @@
 type of the view shall be covered by @i<D>; if @i<A> is anonymous and @i<D> is
 tagged, then the type of the view shall be either @i<D>'Class or a type
 covered by @i<D>; if @i<D> is untagged, then the type of the view shall be
-the @i<D>, and @i<A>'s designated subtype shall either statically match the
+@i<D>, and @i<A>'s designated subtype shall either statically match the
 nominal subtype of the view or be discriminated and unconstrained;>
 
 !corrigendum 4.08(03)

Questions? Ask the ACAA Technical Agent