CVS difference for ais/ai-00162.txt

Differences between 1.5 and version 1.6
Log of other versions for file ais/ai-00162.txt

--- ais/ai-00162.txt	2004/01/23 04:59:23	1.5
+++ ais/ai-00162.txt	2004/07/29 04:02:24	1.6
@@ -1,4 +1,4 @@
-!standard 03.10.02 (13)                               04-01-12  AI95-00162/04
+!standard 03.10.02 (13)                               04-07-28  AI95-00162/05
 !class binding interpretation 96-09-10
 !status work item 98-10-02
 !status received 96-09-10
@@ -91,25 +91,23 @@
 
 In 7.6.1(3), replace
 
-   ".. except in the case of a *master*: the execution of ... or an
+   ".. except in the case of a *master*: the execution of task_body,
+   a block_statement, a subprogram_body, an entry_body, or an
    accept_statement."
 
 with
 
-   ".. except in the case of a *master*: the execution of a task_body,
-   a block_statement, a subprogram_body, an entry_body, an accept_statement,
-   a simple_statement, a declarative_item which does not declare a package,
-   a pragma, a condition, the expression of a case statement,
-   a loop_parameter_specification, the entry_index of an accept_statement,
-   a delay_expression, or a generic_association (including an implicit
-   generic_association associated with a defaulted generic parameter - see
-   12.3)."
+   ".. except in the case of a *master*: the execution of a body other
+   than a package_body; the elaboration of a declaration other than the
+   declaration of a package; the execution of an accept_statement, a
+   block_statement, or a simple_statement; or the evaluation of an
+   expression or range that is not part of an enclosing expression,
+   range, or simple_statement."
 
 Replace 7.6.1(13/1 - 13.1/1) with
 
   The accessibility level of an anonymous object created as part of
-  the evaluation of an allocator of an anonymous access type,
-  a function call, or an aggregate is the accessibility level of the
+  the evaluation of an expression is the accessibility level of the
   innermost enclosing master except in the following cases:
 
     - If the object is created as part of a rename declaration which renames
@@ -118,12 +116,10 @@
       enclosing the rename declaration.
 
     - If the object is created by an allocator of an anonymous access type
-      which is used to initialize an access discriminant of another object,
-      then the accessibility level of the allocated
-      object is defined to be that of the discriminated object.
-      The allocated object is finalized when the discriminated object is
-      finalized. The storage occupied by the allocated object is deallocated
-      when the storage occupied by the discriminated object is deallocated.
+      which is used to initialize an access discriminant of another
+      object, then the accessibility level of the allocated object is
+      defined to be that of the discriminated object. The allocated
+      object is finalized when the discriminated object is finalized.
 
   In the case of a potentially blocking operation which is a master,
   finalization of these anonymous objects occurs before the operation
@@ -148,7 +144,7 @@
 Add at the end of 13.11.2(17).
 
   If the object being reclaimed has an access discriminant which designates
-  an object which which was created by an allocator of the (anonymous) type
+  an object which was created by an allocator of the (anonymous) type
   of the access discriminant, then the designated object should also be
   reclaimed.
 
@@ -1448,6 +1444,18 @@
 commas and put hanging "or"s between bullets, and that just isn't allowed.
 (There also was a lot of word wrapping problems, but those
 I fixed when I filed the AI.)
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Wednesday, July 28, 2004  10:17 PM
+
+Here is an attempt to simplify the wording of AI-162.  This AI
+attempts to refine the definition of "master" so that anonymous
+objects created by function calls, aggregates, and allocators,
+get finalized/waited-for sooner rather than later.
+
+[This is version /05 of the AI - ED]
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent