CVS difference for ais/ai-00169.txt

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

--- ais/ai-00169.txt	1999/06/22 01:44:37	1.4
+++ ais/ai-00169.txt	1999/07/29 00:51:02	1.5
@@ -1,5 +1,6 @@
-!standard 07.06.01 (14)                               99-06-12  AI95-00169/02
+!standard 07.06.01 (14)                               99-07-28  AI95-00169/03
 !class binding interpretation 96-11-16
+!status Corrigendum 2000 99-07-28
 !status WG9 approved 99-06-12
 !status ARG Approved (with changes) 8-0-1  99-03-25
 !status work item 99-03-21
@@ -110,6 +111,56 @@
 any other user-defined subprogram.  There is no benefit to complicating
 implementations by requiring such exceptions to be converted to
 Program_Error.
+
+!corrigendum 7.06.01(13)
+
+@drepl
+The anonymous objects created by function calls and by @fa<aggregate>s are
+finalized no later than the end of the innermost enclosing @fa<declarative_item>
+or @fa<statement>; if that is a @fa<compound_statement>, they are finalized
+before starting the execution of any statement within the @fa<compound_statement>.
+@dby
+The anonymous objects created by function calls and by @fa<aggregate>s are
+finalized no later than the end of the innermost enclosing @fa<declarative_item>
+or @fa<statement>; if that is a @fa<compound_statement>, they are finalized
+before starting the execution of any statement within the @fa<compound_statement>.
+If a transfer of control or raising of an exception occurs prior to
+performing a finalization of an anonymous object, the anonymous object
+is finalized as part of the finalizations due to be performed for the
+object's innermost enclosing master.
+
+!corrigendum 7.06.01(14)
+
+@drepl
+It is a bounded error for a call on Finalize or Adjust to propagate an
+exception. The possible consequences depend on what action invoked the
+Finalize or Adjust operation:
+@dby
+It is a bounded error for a call on Finalize or Adjust that occurs
+as part of object finalization or assignment to propagate an exception.
+The possible consequences depend on what action invoked the
+Finalize or Adjust operation:
+
+!corrigendum 7.06.01(17)
+
+@dinsa
+@xbullet<For a Finalize invoked as part of a call on an instance of
+Unchecked_Deallocation, any other finalizations due to be
+performed are performed, and then Program_Error is raised.>
+@dinss
+@xbullet<For a Finalize invoked as part of the finalization of a master,
+Program_Error is raised at the point where normal execution would
+have continued following the master's finalization. Any other
+finalizations due to be performed up to that point are performed
+before raising Program_Error.>
+@xbullet<For a Finalize invoked as part of the finalization of the anonymous
+object created by a function call or aggregate, Program_Error is raised
+at the point where normal execution would have continued following the
+object's finalization.>
+
+!ACATS test
+
+Add a C-Test (similar to C761008) to test this in the cases given here.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent