CVS difference for ai05s/ai05-0042-1.txt

Differences between 1.1 and version 1.2
Log of other versions for file ai05s/ai05-0042-1.txt

--- ai05s/ai05-0042-1.txt	2007/03/27 22:52:35	1.1
+++ ai05s/ai05-0042-1.txt	2007/10/26 01:37:57	1.2
@@ -1,4 +1,4 @@
-!standard 3.9.3(6/2)                                             07-03-27    AI05-0042-1/00
+!standard 3.9.3(6/2)                                             07-10-25    AI05-0042-1/01
 !standard 12.3(18)
 !class binding interpretation 07-03-27
 !status work item 07-03-27
@@ -9,7 +9,9 @@
 !subject Overriding versus implemented-by
 !summary
 
-** TBD.
+A subprogram that is implemented by an entry or by a protected subprogram
+is effectively overridden by an implict subprogram which calls the
+entry or protected subprogram.
 
 !question
 
@@ -49,17 +51,43 @@
 
 !wording
 
-** TBD.
+Add after 9.1(9.2/2):
 
+A subprogram implemented by a task entry is also overridden by an implicit, 
+nonabstract subprogram having a subtype conformant profile.  [At execution
+time, the effect of this implicit subprogram is to call the task entry.]
+
+AARM: This rule is needed so that a subprogram implemented by an entry is
+considered to be overridden for the purpose of the other rules of the
+language.  Without it, it would for instance be illegal for an abstract
+subprogram to be implemented by an entry, because the abstract subprogram
+would not be overridden.  The rules in 9.1(9.6/2-9.8/2) and 9.4(11.5/2-11.7/2) 
+ensure that there is no conflict between the implicit overriding subprogram 
+and a user-defined overriding subprogram.
+
+Add after 9.4(11.1/2):
+
+A subprogram implemented by a protected subprogram or entry is also overridden
+by an implicit, nonabstract subprogram having a subtype conformant profile.  
+[At execution time, the effect of this implicit subprogram is to call the
+protected subprogram or entry.]
+
 !discussion
 
-** TBD.
+One possible fix would be to change "overridden" by "overridden or implemented by"
+everywhere.  But there are 24 occurrences of "overridden" in the RM, and the
+occurrences of "overriding" would have to be checked too.  That's unappealing.
+It seems more straightforward to reify the model that we have had in mind all
+along anyway, namely that there is an implicit override that acts as a wrapper
+to call the protected subprogram or entry.
 
 --!corrigendum 10.1.2(20/2)
 
 
 !ACATS test
 
+A C test should be written to ensure that a code fragment like the one in the
+!question is actually accepted by implementations.
 
 
 !appendix

Questions? Ask the ACAA Technical Agent