CVS difference for ai12s/ai12-0408-1.txt
--- ai12s/ai12-0408-1.txt 2020/12/03 08:27:11 1.1
+++ ai12s/ai12-0408-1.txt 2020/12/04 07:59:30 1.2
@@ -1,4 +1,4 @@
-!standard 6.1(30/3) 20-12-02 AI12-0408-1/01
+!standard 6.1(30/3) 20-12-03 AI12-0408-1/02
!standard 6.7(3/3)
!standard 6.7(4/3)
!standard 6.8(3.1/5)
@@ -55,11 +55,16 @@
Modify 6.8(3.1/5):
An expression_function_declaration {that is not a completion} declares an
- expression function. The return expression of an expression function is the
+ /expression function/. The /return expression of an expression function/ is the
expression or aggregate of the expression_function_declaration. A completion
is not allowed for an expression_function_declaration; however, an
expression_function_declaration can complete a previous declaration.
+[Editor's note: The term is "return expression of an expression function", not
+two separate terms as it was in the Ada 2012 corrigendum. Note that this
+paragraph was moved up in Ada 202x, but it has existed from the initial
+definition of expression functions.]
+
Modify 6.8(7/4):
The execution of an expression function is invoked by a subprogram call. For
@@ -72,9 +77,9 @@
!discussion
Whether or not a procedure is a "null procedure" is relevant to certain
-legality rules. In particular, when specifying certain aspects on a procedure
+legality rules. In particular, when specifying certain aspects on a procedure
declaration, the legality may depend on whether the procedure is a null
-procedure. Clearly, such a legality rule cannot depend on how the procedure
+procedure. Clearly, such a legality rule cannot depend on how the procedure
is completed, since the completion might well be in a separate compilation
unit.
@@ -88,6 +93,12 @@
Similar issues arise whether or not a function is an "expression function".
+The term "return expression" of an expression function is intended to apply to
+all expression_function_declarations (since it is about rules inside of an
+expression function, not external uses). We keep the term, but make the entire
+phrase the term. This term phrase is used in a number of rules scattered
+throughout the Standard, changing it is not appealing.
+
!ASIS
No ASIS effect.
@@ -123,5 +134,12 @@
Sent: Tuesday, October 27, 2020 2:56 PM
I agree that this would be a useful clarification.
+
+****************************************************************
+
+Editor's note: Tucker had noticed that the use of the term "null procedure" in
+the dynamic semantics was incorrect. I noticed that "expression function" has
+a similar definition (especially in 6.1), and thus needs a similar fix.
+Version /02 of the AI reflects all of the needed fixes.
****************************************************************
Questions? Ask the ACAA Technical Agent