CVS difference for ai05s/ai05-0113-1.txt
--- ai05s/ai05-0113-1.txt 2010/04/02 20:29:57 1.6
+++ ai05s/ai05-0113-1.txt 2010/04/02 20:41:54 1.7
@@ -145,7 +145,72 @@
Implementation Permission 3.9(26/2), so that Tag_Error can be raised if
the Implementation Advice cannot be followed.
---!corrigendum 13.3(76)
+!corrigendum 3.9(12.1/2)
+
+@drepl
+The function Descendant_Tag returns the (internal) tag for the type that corresponds
+to the given external tag and is both a descendant of the type identified by the
+Ancestor tag and has the same accessibility level as the identified ancestor.
+Tag_Error is raised if External is not the external tag for such a type. Tag_Error
+is also raised if the specific type identified is a library-level type whose tag has
+not yet been created.
+@dby
+The function Descendant_Tag returns the (internal) tag for the type that corresponds
+to the given external tag and is both a descendant of the type identified by the
+Ancestor tag and has the same accessibility level as the identified ancestor.
+Tag_Error is raised if External is not the external tag for such a type. Tag_Error
+is also raised if the specific type identified is a library-level type whose tag has
+not yet been created, or if the given external tag identifies more than one type that
+has the appropriate Ancestor and accessibility level.
+
+!corrigendum 3.9(26.1/2)
+
+@drepl
+Internal_Tag should return the tag of a type whose innermost master is the master of
+the point of the function call.
+@dby
+Internal_Tag should return the tag of a type, if one exists, whose innermost master is a
+master of the point of the function call.
+
+!corrigendum 13.3(76)
+
+@drepl
+@s8<@i<Implementation Requirements>>
+
+In an implementation, the default external tag for each specific tagged type declared in
+a partition shall be distinct, so long as the type is declared outside an instance of a
+generic body. If the compilation unit in which a given tagged type is declared, and all
+compilation units on which it semantically depends, are the same in two different
+partitions, then the external tag for the type shall be the same in the two partitions.
+What it means for a compilation unit to be the same in two different partitions is
+implementation defined. At a minimum, if the compilation unit is not recompiled between
+building the two different partitions that include it, the compilation unit is considered
+the same in the two partitions.
+@dby
+@s8<@i<Dynamic Semantics>>
+
+If a user-specified external tag S'External_Tag is the same as T'External_Tag for
+some other tagged type declared by a different declaration in the partition,
+Program_Error is raised by the elaboration of the attribute_definition_clause.
+
+@s8<@i<Implementation Requirements>>
+
+In an implementation, the default external tag for each specific tagged type declared in
+a partition shall be distinct, so long as the type is declared outside an instance of a
+generic body. If the compilation unit in which a given tagged type is declared, and all
+compilation units on which it semantically depends, are the same in two different
+partitions, then the external tag for the type shall be the same in the two partitions.
+What it means for a compilation unit to be the same in two different partitions is
+implementation defined. At a minimum, if the compilation unit is not recompiled between
+building the two different partitions that include it, the compilation unit is considered
+the same in the two partitions.
+
+@s8<@i<Implementation Permissions>>
+
+If a user-specified external tag S'External_Tag is the same as T'External_Tag for
+some other tagged type declared by a different declaration in the partition, the
+partition may be rejected.
+
!ACATS Test
Questions? Ask the ACAA Technical Agent