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