CVS difference for ai05s/ai05-0015-1.txt
--- ai05s/ai05-0015-1.txt 2006/06/03 00:43:07 1.1
+++ ai05s/ai05-0015-1.txt 2006/06/22 03:05:35 1.2
@@ -1,4 +1,8 @@
-!standard 6.5(2.1/2) 06-05-25 AI05-0015-1/01
+!standard 6.5(2.1/2) 06-06-21 AI05-0015-1/02
+!standard 3.3(10/2)
+!standard 3.3(21/2)
+!standard 6.5(5/2)
+!standard 6.5(5.7/2)
!class binding interpretation 06-05-25
!status work item 06-05-25
!status received 06-05-25
@@ -39,6 +43,24 @@
handled_sequence_of_statements
end return];
+Replace 3.3(10/2) with:
+
+ * the return object of a function;
+
+Replace 3.3(21/2) with:
+
+ * the return object declared by an extended_return_statement with
+ the reserved word constant;
+ * the object denoted by a function_call or aggregate;
+
+Add to 6.5(5/2)
+ An extended_return_statement with the reserved word constant shall include an
+ expression.
+
+Add to 6.5(5.7/2)
+ An extended_return_statement with the reserved word constant is a full constant
+ declaration for the return object.
+
!discussion
The omission of "constant" from the syntax of extended_return_statement was an
@@ -62,6 +84,65 @@
Clean_Up(Some_Object);
end return;
end G;
+
+!corrigendum 3.3(10/2)
+
+@drepl
+@xbullet<the return object created as the result of evaluating a
+@fa<function_call> (or the equivalent operator invocation @mdash see 6.6);>
+@dby
+@xbullet<the return object of a function;>
+
+!corrigendum 3.3(21/2)
+
+@drepl
+@xbullet<the result of evaluating a @fa<function_call> or an @fa<aggregate>;>
+@dby
+@xbullet<the return object declared by an @fa<extended_return_statement> with
+the reserved word @b<constant>;>
+@xbullet<the object denoted by a @fa<function_call> or @fa<aggregate>;>
+
+!corrigendum 6.5(2.1/2)
+
+@drepl
+@xcode<@fa<extended_return_statement ::=
+ >@ft<@b<return>>@fa< defining_identifier : [>@ft<@b<aliased>>@fa<] return_subtype_indication [:= expression] [>@ft<@b<do>>@fa<
+ handled_sequence_of_statements
+ >@ft<@b<end return>>@fa<];>>
+@dby
+@xcode<@fa<extended_return_statement ::=
+ >@ft<@b<return>>@fa< defining_identifier : [>@ft<@b<aliased>>@fa<] [>@ft<@b<constant>>@fa<] return_subtype_indication [:= expression] [>@ft<@b<do>>@fa<
+ handled_sequence_of_statements
+ >@ft<@b<end return>>@fa<];>>
+
+!corrigendum 6.5(5/2)
+
+@drepl
+A function body shall contain at least one return statement that applies to
+the function body, unless the function contains @fa<code_statement>s.
+A @fa<simple_return_statement> shall include an @fa<expression> if and only
+if it applies to a function body. An @fa<extended_return_statement> shall
+apply to a function body.
+@dby
+A function body shall contain at least one return statement that applies to
+the function body, unless the function contains @fa<code_statement>s.
+A @fa<simple_return_statement> shall include an @fa<expression> if and only
+if it applies to a function body. An @fa<extended_return_statement> shall
+apply to a function body. An @fa<extended_return_statement> with the
+reserved word @b<constant> shall include an @fa<expression>.
+
+!corrigendum 6.5(5.7/2)
+
+@drepl
+Within an @fa<extended_return_statement>, the @i<return object> is declared
+with the given @fa<defining_identifier>, with the nominal subtype defined
+by the @fa<return_subtype_indication>.
+@dby
+Within an @fa<extended_return_statement>, the @i<return object> is declared
+with the given @fa<defining_identifier>, with the nominal subtype defined
+by the @fa<return_subtype_indication>. An @fa<extended_return_statement>
+with the reserved word @b<constant> is a full constant declaration for the
+return object.
!ACATS test
Questions? Ask the ACAA Technical Agent