CVS difference for ais/ai-00229.txt

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

--- ais/ai-00229.txt	2001/06/03 04:21:30	1.6
+++ ais/ai-00229.txt	2001/06/05 00:03:27	1.7
@@ -629,8 +629,6 @@
 From: Tucker Taft
 Sent: Saturday, June 2, 2001 8:59 AM
 
-
-
 The wording needs some work.  First of all, program units don't have
 "descendants." Only library units have descendants.  Also, we should probably
 always say "generic unit" rather than simply "generic."  Finally, I don't think
@@ -663,5 +661,48 @@
 expression P'Access occurs within the body of that generic unit or in the body
 of a descendant of that generic unit, then the ultimate ancestor of S shall be
 declared within the generic unit."
+
+*************************************************************
+
+From: Tucker Taft
+Sent: Sunday, June 3, 2001 8:55 AM
+
+You are still using the term "descendant".  How about:
+
+"If the subprogram denoted by P is declared with a generic unit, and the
+expression P'Access occurs within the body of that generic unit or of
+a generic unit declared within the immediate scope of the subprogram."
+
+*************************************************************
+
+From: Randy Brukardt
+Sent: Monday, June 4, 2001 2:30 PM
+
+Well, Pascal used it first. But I think it is necessary; we're only talking
+about library units in that phrase.
+
+> If the subprogram denoted by P is declared with a generic unit, and the
+> expression P'Access occurs within the body of that generic unit or of
+> a generic unit declared within the immediate scope of the subprogram.
+
+This doesn't cover children of generics, which is the problem. Moreover, I
+don't think that the scope of the subprogram has anything to do with it at all.
+(Unless this intended to be a backwards way of saying any generic logically
+declared in the generic).
+
+The problem occurs in generic bodies, in nested bodies, and in children of
+generic units (which necessarily must be generic). We do not want to include
+any other cases in the wording; generic specifications will be rechecked (and
+code generated for the sharing case) on instantiation, and thus do not cause
+problems.
+
+Nested bodies (including generic bodies) are covered by "within the body of
+that generic unit", we don't need any wording for them (We didn't say "directly
+within"). "...or the body of a descendant of that generic unit" covers the
+children. Necessarily, such children are library units so "descendant" applies
+to them. Non-library unit generics don't have any descendants, so that phrase
+doesn't apply to them.
+
+So, I guess I'm saying I don't understand your objection to "descendant".
 
 *************************************************************

Questions? Ask the ACAA Technical Agent