CVS difference for ai12s/ai12-0335-1.txt

Differences between 1.3 and version 1.4
Log of other versions for file ai12s/ai12-0335-1.txt

--- ai12s/ai12-0335-1.txt	2019/07/03 04:56:12	1.3
+++ ai12s/ai12-0335-1.txt	2019/07/03 19:28:42	1.4
@@ -1,5 +1,7 @@
-!standard 9.5.4(7/4)                                    19-06-15  AI12-0335-1/02
+!standard 9.5.4(7/4)                                    19-07-02  AI12-0335-1/03
 !class binding interpretation 19-06-04
+!status Amendment 1-2012 19-07-02
+!status ARG Approved 8-0-2  19-06-15
 !status work item 19-06-04
 !status received 19-05-19
 !priority Low
@@ -44,10 +46,11 @@
         task or protected object and of the expression (if any)
         identifying the entry within an entry family.]
 
-     2. A check is made that the accessibility level of the target object is 
-        not equal to or deeper than the level of the innermost enclosing 
-        body or callable construct. If this check fails, Program_Error is 
-        raised.
+     2. If the target object is not a part of a formal parameter of the 
+        innermost enclosing callable construct, a check is made that the 
+        accessibility level of the target object is not equal to or deeper 
+        than the level of the innermost enclosing callable construct. If 
+        this check fails, Program_Error is raised.
 
         AARM note: This check can only fail if the statically deeper
         relationship does not apply to the accessibility level of the
@@ -132,6 +135,39 @@
      Ptr : access Some_Type := Some_Parameter.Some_Anon_Access_Component;
    begin
      requeue Ptr.all.Some_Entry;
+
+Thus we take that approach here.
+
+!corrigendum 9.5.4(7/4)
+
+@drepl
+The execution of a @fa<requeue_statement> proceeds by first evaluating the
+@i<procedure_or_entry_>@fa<name>, including the @fa<prefix> identifying the
+target task or protected object and the @fa<expression> identifying the entry
+within an entry family, if any. Precondition checks are then performed as for
+a call to the requeue target entry or subprogram. The @fa<entry_body> or
+@fa<accept_statement> enclosing the @fa<requeue_statement> is then
+completed, finalized, and left (see 7.6.1).
+@dby
+The execution of a @fa<requeue_statement> begins with the following
+sequence of steps:
+
+@xhang<@xterms<1.>The @i<procedure_or_entry_>@fa<name> is evaluated. This
+includes evaluation of the @fa<prefix> (if any) identifying the target
+task or protected object and of the @fa<expression> (if any)
+identifying the entry within an entry family.>
+
+@xhang<@xterms<2.>If the target object is not a part of a formal parameter of the 
+innermost enclosing callable construct, a check is made that the accessibility 
+level of the target object is not equal to or deeper than the level 
+of the innermost enclosing callable construct. If this check fails,
+Program_Error is raised.>
+
+@xhang<@xterms<3.>Precondition checks are performed as for a call to the requeue
+target.>
+
+@xhang<@xterms<4.>The @fa<entry_body> or @fa<accept_statement> enclosing the 
+@fa<requeue_statement> is then completed, finalized, and left (see 7.6.1).>
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent