CVS difference for ais/ai-00117.txt

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

--- ais/ai-00117.txt	1999/06/22 01:44:36	1.5
+++ ais/ai-00117.txt	1999/07/28 00:08:44	1.6
@@ -1,5 +1,6 @@
-!standard 03.09.02 (10)                               99-06-12  AI95-00117/04
+!standard 03.09.02 (10)                               99-07-27  AI95-00117/05
 !class binding interpretation 96-04-04
+!status Corrigendum 2000 99-07-27
 !status WG9 approved 99-06-12
 !status ARG Approved (with changes) 7-1-1  99-03-24
 !status work item 96-04-04
@@ -320,6 +321,69 @@
 extension of Formal, then that type's inherited Proc would also have
 convention Intrinsic, which would be legal. However, an explicit
 overriding of that Proc would be illegal.
+
+!corrigendum  3.09.02(10)
+
+@drepl
+In the declaration of a dispatching operation of a tagged type,
+everywhere a subtype of the tagged type appears as a subtype of the profile
+(see 6.1), it shall statically match the first subtype of the tagged type.
+If the dispatching operation overrides an inherited subprogram, it shall be
+subtype conformant with the inherited subprogram. A dispatching operation
+shall not be of convention Intrinsic. If a dispatching operation overrides
+the predefined equals operator, then it shall be of convention Ada (either
+explicitly or by default -- see 6.3.1).
+@dby
+In the declaration of a dispatching operation of a tagged type,
+everywhere a subtype of the tagged type appears as a subtype of the profile
+(see 6.1), it shall statically match the first subtype of the tagged type.
+If the dispatching operation overrides an inherited subprogram, it shall be
+subtype conformant with the inherited subprogram. The convention of an
+inherited or overriding dispatching operation is the convention of the
+corresponding primitive operation of the parent type. An explicitly declared
+dispatching operation shall not be of convention Intrinsic.
+
+!corrigendum 6.03.01(13)
+
+@dinsa
+@xbullet<The default calling convention is entry for an entry.>
+@dinst
+@xbullet<If not listed above, the calling convention for any inherited
+or overriding dispatching operation of a tagged type is that
+of the corresponding subprogram of the parent type. The
+default calling convention for a new dispatching operation
+of a tagged type is the convention of the full view of the type.>
+
+!corrigendum B.01(28)
+
+@drepl
+Import, Export, and Convention pragmas are representation pragmas that
+specify the @i<convention> aspect of representation. In addition, Import and
+Export pragmas specify the @i<imported> and @i<exported> aspects of
+representation, respectively.
+@dby
+Import, Export, and Convention pragmas are representation pragmas that
+specify the @i<convention> aspect of representation. In addition, Import and
+Export pragmas specify the @i<imported> and @i<exported> aspects of
+representation, respectively. Unless this International Standard states
+otherwise, the default convention of an entity is Ada.
+
+
+!ACATS test
+The response to question 1 is untestable, as the convention of such items
+rarely has a semantic effect.
+For the response to question 2:
+A B-Test and C-Test should be constructed to check that the convention of
+dispatching routines is inherited. The obvious way to test this is to
+declare a package of convention C subprograms, and check that the inherited
+ones can be used with a convention C access to subprogram type. (Note that
+such a test will not be applicable to all implementations. Alternatively, a
+macro substitution of any supported language could be used instead of C, but
+the test still would not be applicable to every implementation.)
+For the response to question 3:
+The existing test C452001 has user-defined equality for tagged types. But it
+does not test dispatching of equality. A C-Test of dispatching equality of
+tagged types should be created (which would test this case as a side-effect).
 
 !appendix
 

Questions? Ask the ACAA Technical Agent