CVS difference for ais/ai-00269.txt

Differences between 1.8 and version 1.9
Log of other versions for file ais/ai-00269.txt

--- ais/ai-00269.txt	2004/10/05 22:49:08	1.8
+++ ais/ai-00269.txt	2004/11/14 06:37:02	1.9
@@ -1,4 +1,4 @@
-!standard  4.09 (35)                                   04-09-22  AI95-00269/05
+!standard  4.09 (35)                                   04-11-03  AI95-00269/06
 !standard  4.09 (37)
 !standard  4.09 (38)
 !standard 12.04 (10)
@@ -14,12 +14,12 @@
 
 !summary
 
-The name of a formal in object associated with a static actual denotes
+The name of a formal object of mode in associated with a static actual denotes
 a static constant in an instance.
 
 The restrictions of 4.9(34-36) apply in the private part of an instance.
 
-The accuracy requirement of 4.9(38) does not apply in an instance body.
+The accuracy requirements of 4.9(38) does not apply in an instance body.
 
 If a static expression is not part of a larger static expression and
 its expected type is a universal type or any integer or real type, then
@@ -94,9 +94,11 @@
 if all the names in this expression "denote" static things.
 
 However, 4.9(24) says that a static constant is declared by a full constant
-declaration. But a formal object in an instance is not declared by a full
-constant declaration, and thus a formal object can never be static. This would
-be a significant incompatibility with Ada 83.
+declaration. But the wording of 12.4(10) says that a formal object in an
+instance is a new stand-alone constant (rather than a full constant
+declaration) which implies that a formal object can never be static. This would
+be a significant incompatibility with Ada 83. So the wording of 12.4(10) is
+changed to say that it is a full constant declaration.
 
 Thus, formal objects with static actual expressions should be treated as
 static in the instance. However, we need to be careful. We do not want to
@@ -132,8 +134,8 @@
 the value may be arbitrarily large or small.>
 @dby
 @xbullet<If the expression is not part of a larger static expression and the
-expression is expected to be a single specific type, then its value shall be in
-the base range of its expected type. Otherwise, the value may be arbitrarily
+expression is expected to be of a single specific type, then its value shall be
+in the base range of its expected type. Otherwise, the value may be arbitrarily
 large or small.>
 
 !corrigendum 4.09(37)
@@ -147,7 +149,8 @@
 descendant of a formal scalar type (or a corresponding actual type in an
 instance).
 
-The above restrictions apply also in the private part of an instance
+In addition to the places where Legality Rules normally apply (see 12.3),
+the above restrictions also apply in the private part of an instance
 of a generic unit.
 
 !corrigendum 4.09(38)
@@ -190,7 +193,7 @@
 !ACATS test
 
 Legacy tests A49027A, A49027B, and A49027C test cases where items that are
-non-static in the generic specification are static in the instance
+nonstatic in the generic specification are static in the instance
 specification.
 
 !appendix
@@ -1792,6 +1795,44 @@
 I think we'd end up confusing ourselves more if we try to treat them
 separately. (We've certainly done that in other areas.) To help meet our
 schedule, I don't think we want any unnecessary confusion at this point.
+
+****************************************************************
+
+From: Jean-Pierre Rosen
+Sent: Monday, October 18, 2004  10:13 AM
+
+Typo in AI-269:
+
+!summary
+
+The name of a formal [in] object associated with a static actual denotes
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Thursday, November  4, 2004  4:59 PM
+
+That's not a typo, that's what it needs to say. Certainly an in out formal
+object should never be static, and the wording never makes such an object
+static. So we shouldn't delete "in" here.
+
+****************************************************************
+
+From: Jean-Pierre Rosen
+Sent: Monday, October 18, 2004  10:13 AM
+
+Now I realize I completely misread the sentence, i.e. I didn't realize
+that "in" was the parameter mode. Maybe adding quotes would help, i.e.:
+
+The name of a formal "in" object associated with a static actual denotes
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Friday, November  5, 2004  8:53 PM
+
+Looking in the Standard, it says "formal object of mode in", so I changed it
+to that. Hopefully that will eliminate any confusion.
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent