CVS difference for ais/ai-00127.txt

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

--- ais/ai-00127.txt	1999/09/16 20:40:29	1.6
+++ ais/ai-00127.txt	1999/10/08 23:41:05	1.7
@@ -1,4 +1,4 @@
-!standard 03.09.02 (07)                               99-09-15  AI95-00127/06
+!standard 03.09.02 (07)                               99-10-07  AI95-00127/07
 !standard 03.09.02 (09)
 !standard 03.10.02 (24)
 !standard 03.10.02 (27)
@@ -142,13 +142,13 @@
 @dby
 A @fa<type_conversion> is statically or dynamically tagged according to whether
 the type determined by the @fa<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.
+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.
 
 !corrigendum 3.09.02(9)
 
@@ -164,9 +164,9 @@
 type, then the expression or @fa<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
-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.
 
 !corrigendum 3.10.02(24)
 
@@ -204,13 +204,12 @@
 designated subtype shall statically match the nominal subtype of the view,
 or the designated subtype shall be discriminated and unconstrained;>
 @dby
-@xinbull<If @i<A> is named and @i<D> is tagged, then the 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 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;>
+@xinbull<If @i<A> is a named access type and @i<D> is a tagged type, then the
+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
+nominal subtype of the view or be discriminated and unconstrained;>
 
 !corrigendum 4.08(03)
 
@@ -219,11 +218,10 @@
 type whose designated type covers the type determined by the @fa<subtype_mark>
 of the @fa<subtype_indication> or @fa<qualified_expression>.
 @dby
-The expected type for an allocator shall be a single access-to-object type
-whose designated type covers the type determined by the @fa<subtype_mark> of
-the @fa<subtype_indication> or @fa<qualified_expression>, or, if the expected
-type is anonymous, whose designated type is the class-wide type corresponding
-to the determined type.
+The expected type for an allocator shall be a single access-to-object type with
+designated type @i<D> such that either @i<D> covers the type determined by the
+@fa<subtype_mark> of the @fa<subtype_indication> or @fa<qualified_expression>,
+or the expected type is anonymous and the determined type is @i<D>'Class.
 
 !ACATS test
 
@@ -352,5 +350,43 @@
 > pleroy@rational.com                             +33.1.30.12.09.66 FAX
 
 -Tuck
+
+****************************************************************
+
+From: Randy Brukardt, October 7, 1999
+
+The text changes mentioned in my notes from the recent ARG meeting
+for paragraphs 3.9.2(7) and 3.9.2(9) don't make sense in English. I've made
+what I think are minimal corrections to the text. Here is what my original
+notes say:
+
+3.9.2(7)
+
+Replace all but the first sentence:
+
+For an object that is designated by an expression where the expected type is an
+anonymous access-to-specific tagged type 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 staic or dynamically tagged according to
+whether the designated type of the type of the expression is specific or
+class-wide, respectively.
+
+-- The first clause here makes no sense as written.
+
+This paragraph was changed because:
+    -- Expressions are dynamically or statically tagged, not parameters per se;
+    -- We need this to apply to all expressions so 3.9.2(9) works;
+    -- A parenthesized expression should be either dynamically or statically
+       tagged depending on the contents.
+
+3.9.2(9)
+
+Replace:
+
+...then the object designated by the expression shall not be dynamically tagged
+unless it is designated...
+
+-- "it is designated" doesn't match the following text "...a controlling operand...".
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent