CVS difference for ais/ai-00344.txt

Differences between 1.13 and version 1.14
Log of other versions for file ais/ai-00344.txt

--- ais/ai-00344.txt	2004/11/25 00:03:40	1.13
+++ ais/ai-00344.txt	2004/12/09 19:55:31	1.14
@@ -1,6 +1,7 @@
-!standard  3.09    (04)                               04-11-15  AI95-00344/07
+!standard  3.09    (04)                               04-12-08  AI95-00344/08
 !standard  3.09    (07)
 !standard  3.09    (12)
+!standard  3.09    (25)
 !standard  3.09.01 (03)
 !standard  3.09.01 (04)
 !standard  3.09.01 (07)
@@ -153,11 +154,17 @@
     that of the master that elaborated the function body. If this check fails,
     Program_Error is raised.
 
-Add to end of 13.13.2(31):
+Replace 13.13.2(31) by:
 
-    ... Tag_Error is raised if the tag of Item identifies a type declared at an
-    accessibility level deeper than that of S.
+First writes the external tag of Item to Stream (by calling
+String'Output(Stream, Tags.External_Tag(Item'Tag)) -- see 3.9) and then
+dispatches to the subprogram denoted by the Output attribute of the specific
+type identified by the tag. Tag_Error is raised if the tag of Item identifies
+a type declared at an accessibility level deeper than that of S.
 
+[Editor's note: This corrects a typo in the original paragraph as well as
+adding a tag check.]
+
 Modify 13.13.2(34):
 
     First reads the external tag from Stream and determines the corresponding
@@ -346,7 +353,7 @@
 @xcode<    @b<function> Expanded_Name(T : Tag) @b<return> String;
     @b<function> External_Tag(T : Tag) @b<return> String;
     @b<function> Internal_Tag(External : String) @b<return> Tag;>
-@dinss
+@dinst
 @xcode<    @b<function> Descendant_Tag(External : String; Ancestor : Tag) @b<return> Tag;
     @b<function> Is_Descendant_At_Same_Level(Descendant, Ancestor : Tag)
         @b<return> Boolean;>
@@ -372,7 +379,17 @@
 identifies a type that is both a descendant of the type identified
 by Ancestor and at the same accessibility level. If not, it returns False.
 
+!corrigendum 03.09(25)
+!comment There is no change here. This is just necessary to force a conflict.
+!comment The rule that we need to modify is added by AI-260-2.
 
+@drepl
+The tag is preserved by type conversion and by parameter passing. The tag of a
+value is the tag of the associated object (see 6.2).
+@dby
+The tag is preserved by type conversion and by parameter passing. The tag of a
+value is the tag of the associated object (see 6.2).
+
 !corrigendum 03.09.01(03)
 
 @drepl
@@ -462,10 +479,10 @@
 identified by the tag.>
 @dby
 @xindent<First writes the external tag of @i<Item> to @i<Stream> (by calling
-String'Output(Tags.External_Tag(@i<Item>'Tag) -- see 3.9) and then dispatches
-to the subprogram denoted by the Output attribute of the specific type
-identified by the tag. Tag_Error is raised if the tag of Item identifies a
-type declared at an accessibility level deeper than that of S.>
+String'Output(@i<Stream>, Tags.External_Tag(@i<Item>'Tag) -- see 3.9) and
+then dispatches to the subprogram denoted by the Output attribute of the
+specific type identified by the tag. Tag_Error is raised if the tag of Item
+identifies a type declared at an accessibility level deeper than that of S.>
 
 !corrigendum 13.13.2(34)
 

Questions? Ask the ACAA Technical Agent