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

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

--- ai12s/ai12-0335-1.txt	2019/06/11 04:13:55	1.2
+++ ai12s/ai12-0335-1.txt	2019/07/03 04:56:12	1.3
@@ -1,4 +1,4 @@
-!standard 9.5.4(7/4)                                    19-06-04  AI12-0335-1/01
+!standard 9.5.4(7/4)                                    19-06-15  AI12-0335-1/02
 !class binding interpretation 19-06-04
 !status work item 19-06-04
 !status received 19-05-19
@@ -24,7 +24,7 @@
 
 !wording
 
-Replace 9.5.4(7/4)
+Replace 9.5.4(7/4):
 
    The execution of a requeue_statement proceeds by first evaluating the
    procedure_or_entry_name[Redundant:, including the prefix identifying the 
@@ -34,29 +34,32 @@
    entry_body or accept_statement enclosing the requeue_statement is
    then completed[Redundant:, finalized, and left (see 7.6.1)].
 
-with
+with:
 
-   The execution of a requeue_statement proceeds in the following
-   sequence of steps:
+  The execution of a requeue_statement begins with the following
+  sequence of steps:
 
-     1. Evaluate the procedure_or_entry_name[Redundant:, including the prefix
-        identifying the target task or protected object and the
-        expression identifying the entry within an entry family, if any].
+     1. The procedure_or_entry_name is evaluated. [Redundant: This
+        includes evaluation of the prefix (if any) identifying the target
+        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. A check is made that that accessibility level is not equal to or
-        deeper than the level of the innermost enclosing body or callable
-        construct.
-
-        AARM Discussion: This check can only fail if the statically deeper
+        AARM note: This check can only fail if the statically deeper
         relationship does not apply to the accessibility level of the
         type of the target object.
+
+     3. Precondition checks are performed as for a call to the requeue
+        target.
 
-     3. Perform precondition checks as for a call to the requeue target
-        entry or subprogram.
+     4. The entry_body or accept_statement enclosing the
+        requeue_statement is then completed[, finalized, and left (see
+        7.6.1)].
 
-     4) The entry_body or accept_statement enclosing the
-        requeue_statement is then completed[Redundant:, finalized, and left 
-        (see 7.6.1)].
 
 !discussion
 
@@ -120,24 +123,24 @@
 check) in this sort of situation because we don't want to disallow something 
 reasonable like:
 
-     Ptr : access Foo := Some_Library_Level_Object'Access;
+     Ptr : access Some_Type := Some_Library_Level_Object'Access;
    begin
      requeue Ptr.all.Some_Entry;
 
 or even more likely (assuming the type of Some_Parameter is library-level):
 
-     Ptr : access Foo := Some_Parameter.Some_Anon_Access_Component;
+     Ptr : access Some_Type := Some_Parameter.Some_Anon_Access_Component;
    begin
      requeue Ptr.all.Some_Entry;
 
-Thus we take that approach here.
-
 !ASIS
 
 No ASIS effect.
 
 !ACATS test
 
+An ACATS C-Test should be constructed for an example like the one in the 
+!discussion.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent