CVS difference for ai05s/ai05-0099-1.txt

Differences between 1.3 and version 1.4
Log of other versions for file ai05s/ai05-0099-1.txt

--- ai05s/ai05-0099-1.txt	2008/08/08 02:14:30	1.3
+++ ai05s/ai05-0099-1.txt	2008/12/02 06:01:19	1.4
@@ -1,8 +1,10 @@
-!standard  7.6.1(6)                                  08-08-06  AI05-0099-1/02
+!standard  7.6.1(6)                                  08-11-19  AI05-0099-1/03
 !standard  7.6.1(7)
 !standard  7.6.1(8)
-!standard  7.6.1(9)
+!standard  7.6.1(9/2)
 !class binding interpretation 08-05-28
+!status Amendment 201Z 08-11-26
+!status ARG Approved  8-0-1  08-10-31
 !status work item 08-05-28
 !status received 06-04-09
 !priority Medium
@@ -47,7 +49,7 @@
 Modify 7.6.1(8):
 
 * If {the full type of} the object is [of] a protected type, {or if the
-  full type of the object is of tagged type and the tag of the object
+  full type of the object is a tagged type and the tag of the object
   identifies a protected type, }the actions defined in 9.4 are performed;
 
 Modify the start of 7.6.1(9):
@@ -58,8 +60,8 @@
 Add an AARM note after 7.6.1(9.a):
 
 To Be Honest: The components discussed here are all of the components that
-the actual object has, not just those components that are identified by the
-type of of the actual object. These can be different if the object has a
+the object actually has, not just those components that are statically identified
+by the type of the object. These can be different if the object has a
 classwide type.
 
 !discussion
@@ -67,7 +69,7 @@
 The rule in question is a dynamic semantics rule, so depending on a static
 concept like "nominal subtype" is suspicious. However, there is no clear
 definition of the "dynamic type" of an object in the Standard. Since
-T'Class can include an object of any decendant of T, we surely do not
+T'Class can include an object of any descendant of T, we surely do not
 want to be calling the Finalize (if any) that is statically associated
 with T.
 
@@ -103,8 +105,55 @@
 by the type.
 
 
---!corrigendum 7.6.1(7)
---!corrigendum 7.6.1(8)
+!corrigendum 7.6.1(6)
+
+@drepl
+@xbullet<If the object is of an elementary type, finalization
+has no effect;>
+@dby
+@xbullet<If the full type of the object is an elementary type, finalization
+has no effect;>
+
+!corrigendum 7.6.1(7)
+
+@drepl
+@xbullet<If the object is of a controlled type, the Finalize procedure is
+called;>
+@dby
+@xbullet<If the full type of the object is a tagged type, and the tag of the object
+identifies a controlled type, the Finalize procedure of that controlled type
+is called;>
+
+!corrigendum 7.6.1(8)
+
+@drepl
+@xbullet<If the object is of a protected type, the actions defined in
+9.4 are performed;>
+@dby
+@xbullet<If the full type of the object is a protected type, or if the
+full type of the object is a tagged type and the tag of the object
+identifies a protected type, the actions defined in 9.4 are performed;>
+
+!corrigendum 7.6.1(9/2)
+
+@drepl
+@xbullet<If the object is of a composite type, then after performing the
+above actions, if any, every component of the object
+is finalized in an arbitrary order, except as follows:
+if the object has a component with an access discriminant constrained
+by a per-object expression, this component is finalized before any
+components that do not have such discriminants; for an object with
+several components with such a discriminant, they are finalized in the
+reverse of the order of their @fa<component_declaration>s;>
+@dby
+@xbullet<If the full type of the object is a composite type, then after
+performing the above actions, if any, every component of the object
+is finalized in an arbitrary order, except as follows:
+if the object has a component with an access discriminant constrained
+by a per-object expression, this component is finalized before any
+components that do not have such discriminants; for an object with
+several components with such a discriminant, they are finalized in the
+reverse of the order of their @fa<component_declaration>s;>
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent