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

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

--- ai12s/ai12-0193-1.txt	2016/11/10 01:57:19	1.3
+++ ai12s/ai12-0193-1.txt	2016/11/10 02:56:57	1.4
@@ -1,10 +1,12 @@
-!standard 6.1.1(35.1/4)                                    16-10-06  AI12-0193-1/02
+!standard 6.1.1(35.1/4)                                    16-11-09  AI12-0193-1/03
 !standard 9.5.2(24)
 !class binding interpretation 16-06-06
+!status Amendment 1-2012 16-11-09
+!status ARG Approved 9-0-1  16-10-08
 !status work item 16-06-06
 !status received 16-01-29
 !priority Low
-!difficulty Easy
+!difficulty Medium
 !qualifier Omission
 !subject Postcondition failure for a task entry
 !summary
@@ -77,12 +79,11 @@
     entry is selected (see 9.5.3), whereupon the handled_sequence_of_statements,
     if any, of the accept_statement is executed, with the formal parameters
     associated with the corresponding actual parameters of the selected entry
-    call. Execution of the rendezvous consists of the execution
-    of the handled_sequence_of_statements, performance of any
-    type invariant or postcondition checks associated with the
-    entry, and finalization of any implicitly declared 'Old constants
-    as described in 6.1.1 and 7.3.2. After execution of the rendezvous,
-    the accept_statement completes and is left.
+    call. Execution of the rendezvous consists of the execution of the
+    handled_sequence_of_statements, performance of any postcondition or type
+    invariant checks associated with the entry, and any finalization associated
+    with these checks, as described in 6.1.1 and 7.3.2. After execution of the
+    rendezvous, the accept_statement completes and is left.
     When an exception is propagated from the execution of a rendezvous,
     the same exception is also raised by the execution of the
     corresponding entry_call_statement.
@@ -95,7 +96,7 @@
 
 [Editor's note: It's a little weird that the term "rendezvous", which is
 defined in the following paragraph, is used in this one. I didn't see a simple
-fix and I wasn't about to do all of Steve's homework for him.]
+fix.]
 
 !discussion
 
@@ -113,6 +114,58 @@
 
 We have to resolve this conflict somehow. The most sensible thing to do is
 to expand the definition of rendezvous to include these additional operations.
+
+!corrigendum 7.3.2(20/3)
+
+@drepl
+The check is performed on each such part of type @i<T>.
+@dby
+The check is performed on each such part of type T. In the case of
+a call to a protected operation, the check is performed before the
+end of the protected action. In the case of a call to a task entry,
+the check is performed before the end of the rendezvous.
+
+!corrigendum 9.5.4(24)
+
+@drepl
+For the execution of an @fa<accept_statement>, the @fa<entry_index>, if any,
+is first evaluated and converted to the entry index subtype; this index value
+identifies which entry of the family is to be accepted. Further execution of
+the @fa<accept_statement> is then blocked until a caller of the corresponding
+entry is selected (see 9.5.3), whereupon the @fa<handled_sequence_of_statements>,
+if any, of the @fa<accept_statement> is executed, with the formal parameters
+associated with the corresponding actual parameters of the selected entry call.
+Upon completion of the @fa<handled_sequence_of_statements>, the @fa<accept_statement>
+completes and is left. When an exception is propagated from the
+@fa<handled_sequence_of_statements> of an @fa<accept_statement>, the same
+exception is also raised by the execution of the corresponding
+@fa<entry_call_statement>. 
+@dby
+For the execution of an @fa<accept_statement>, the @fa<entry_index>, if any,
+is first evaluated and converted to the entry index subtype; this index value
+identifies which entry of the family is to be accepted. Further execution of
+the @fa<accept_statement> is then blocked until a caller of the corresponding
+entry is selected (see 9.5.3), whereupon the @fa<handled_sequence_of_statements>,
+if any, of the @fa<accept_statement> is executed, with the formal parameters
+associated with the corresponding actual parameters of the selected entry call.
+Execution of the rendezvous consists of the execution of the
+@fa<handled_sequence_of_statements>, performance of any postcondition or type
+invariant checks associated with the entry, and any finalization associated
+with these checks, as described in 6.1.1 and 7.3.2. After execution of the
+rendezvous, the @fa<accept_statement>
+completes and is left. When an exception is propagated from the
+@fa<handled_sequence_of_statements> of an @fa<accept_statement>, the same
+exception is also raised by the execution of the corresponding
+@fa<entry_call_statement>. 
+
+    
+
+
+    AARM Ramification: Execution of the rendezvous does not include
+    any checks associated with parameter copy back or any
+    post-call subtype predicate check for a parameter which is
+    passed by reference. These checks are performed by
+    the caller after the execution of the rendezvous.
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent