CVS difference for ais/ai-00409.txt

Differences between 1.3 and version 1.4
Log of other versions for file ais/ai-00409.txt

--- ais/ai-00409.txt	2005/04/13 05:37:22	1.3
+++ ais/ai-00409.txt	2005/06/16 23:47:40	1.4
@@ -1,4 +1,4 @@
-!standard 6.3.1 (15)                                   05-03-09  AI95-00409/02
+!standard 6.3.1 (15)                                   05-06-15  AI95-00409/03
 !standard 6.3.1 (16)
 !standard 8.5.1 (2)
 !standard 8.5.1 (3)
@@ -43,8 +43,9 @@
 
 Change the paragraph added after 6.3.1(13) by AI-254 to:
 
-    The calling convention for an access parameter {or access result}
-    of an access-to-subprogram type is protected if the reserved word protected
+    The calling convention for an [access]{anonymous access-to-subprogram}
+    parameter {or anonymous access-to-subprogram result}[of an
+    access-to-subprogram type] is protected if the reserved word protected
     appears in its definition and otherwise is the convention of the subprogram
     that contains the parameter.
 
@@ -68,11 +69,11 @@
 Change the last part of 8.5.1(3) (as modified by AI-230 and AI-254):
 
     ... or in the case where the type is defined by an
-    access_definition, to {an}[a specific] anonymous access type
-    to a specific anonymous access type which in the case of an
+    access_definition, to {an}[a specific] anonymous access type{,}
+    which in the case of an
     access-to-object type shall have the same designated type as that of the
-    access_definition and in the case of an access-to-subprogram type shall
-    have a designated profile which is [subtype]{type} conformant with
+    access_definition{,} and in the case of an access-to-subprogram type shall
+    have a designated profile {that}[which] is [subtype]{type} conformant with
     that of the access_definition.
 
 Replace last part of 8.5.1(4) (as modified by AI-231):
@@ -145,10 +146,10 @@
 @dinsa
 @xbullet<The default calling convention is @i<entry> for an entry.>
 @dinst
-@xbullet<The calling convention for an access parameter or access result of an
-access-to-subprogram type is @i<protected> if the reserved word @b<protected>
-appears in its definition and otherwise is the convention of the subprogram
-that contains the parameter.>
+@xbullet<The calling convention for an anonymous access-to-subprogram parameter
+or anonymous access-to-subprogram result is @i<protected> if the reserved word
+@b<protected> appears in its definition and otherwise is the convention of the
+subprogram that contains the parameter.>
 
 
 !corrigendum 6.3.1(15)
@@ -172,7 +173,7 @@
 corresponding parameters have identical modes, and, for access parameters, the
 designated subtypes statically match.
 @dby
-Two profiles are @i<mode conformant> if they are type-conformant,
+Two profiles are @i<mode conformant> if they are type-conformant, and
 corresponding parameters have identical modes, and, for access parameters or
 access result types, the designated subtypes statically match, or the
 designated profiles are subtype conformant.
@@ -188,15 +189,15 @@
 !corrigendum 8.5.1(3)
 
 @drepl
-The type of the @fa<object_name> shall resolve to the type determined by the
+The type of the @i<object_>@fa<name> shall resolve to the type determined by the
 @fa<subtype_mark>.
 @dby
-The type of the @fa<object_name> shall resolve to the type determined by the
+The type of the @i<object_>@fa<name> shall resolve to the type determined by the
 @fa<subtype_mark>, or in the case where the type is defined by an
-@fa<access_definition>, to an anonymous access type which in the case
+@fa<access_definition>, to an anonymous access type, which in the case
 of an access-to-object type shall have the same designated type as that of the
-@fa<access_definition> and in the case of an access-to-subprogram type shall
-have a designated profile which is type conformant with that of the
+@fa<access_definition>, and in the case of an access-to-subprogram type shall
+have a designated profile that is type conformant with that of the
 @fa<access_definition>.
 
 !corrigendum 8.5.1(4)
@@ -252,4 +253,58 @@
 
 !appendix
 
+From: Bob Duff
+Sent: Monday, June 6, 2005  12:39 PM
+
+I'm using draft 11.8 of the [A]ARM.
+
+6.3.1(13.1/2):
+
+13.1/2 {AI95-00254-01} {AI95-00409-01} The calling convention for an access
+      parameter or access result of an access-to-subprogram type is protected
+      if the reserved word protected appears in its definition and otherwise
+      is the convention of the subprogram that contains the parameter.
+
+I had to read that several times to understand it.  At first I thought it meant
+we have an access-to-subprogram type, and it has an access parameter, and this
+is defining the calling convention of that parameter -- but parameters don't
+have calling conventions.  E.g.:
+
+    type T is access procedure(X: access Integer);
+
+I thought it was talking about the calling convention of X.
+
+How about changing "of an access-to-subprogram type" to "whose type is an
+access-to-subprogram type"?
+
+Or perhaps say: "an access-to-subprogram parameter or result...".
+
 *************************************************************
+
+From: Randy Brukardt
+Sent: Monday, June 6, 2005  10:08 PM
+
+The latter unfortunately seems to mean any access-to-subprogram parameter,
+and we don't mean that (only anonymous ones) so that's out. The former
+works, but makes ugly wording even uglier. We generally call the "anonymous
+access-to-subprogram parameters" to avoid confusion (even though its very
+wordy). But I worry that its not clear that all of the adjectives apply to
+result; it seems to be hanging out there without a clear association.
+
+   The calling convention for an anonymous access-to-subprogram parameter or
+   anonymous access-to-subprogram result is protected if the reserved word
+protected
+   appears in its definition and otherwise is the convention of the
+   subprogram that contains the parameter.
+
+That seems better, and isn't much longer than the original.
+
+*************************************************************
+
+From: Pascal Leroy
+Sent: Tuesday, June 7, 2005  4:15 AM
+
+Agreed.
+
+*************************************************************
+

Questions? Ask the ACAA Technical Agent