CVS difference for ais/ai-00106.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00106.txt

--- ais/ai-00106.txt	1998/09/30 00:17:17	1.1
+++ ais/ai-00106.txt	1999/06/26 01:11:13	1.2
@@ -1,5 +1,6 @@
-!standard 13.14    (06)                               96-11-16  AI95-00106/05
+!standard 13.14    (06)                               99-06-25  AI95-00106/06
 !class binding interpretation 96-04-04
+!status Corrigendum 2000 99-05-25
 !status WG9 approved 96-12-07
 !status ARG approved 11-0-0  96-10-07
 !status work item (letter ballot was 9-3-0) 96-10-03
@@ -10,7 +11,7 @@
 !difficulty Hard
 !subject Freezing Rules
 
-!summary 96-09-05
+!summary
 
 1. An object name causes freezing where it occurs, unless the name is
 part of a default_expression, a default_name, or a per-object expression
@@ -28,7 +29,7 @@
 then that type or subtype is frozen at the same place where the name or
 expression causes freezing.
 
-!question 96-09-05
+!question
 
 1. Does an object_renaming_declaration cause freezing of the renamed
 object?  (Yes.)
@@ -128,11 +129,11 @@
     X: Boolean := F(10); -- Freezes type T?  (Yes.)
     for T'Size use 4; -- Legal?  (No.)
 
-!recommendation 96-04-17
+!recommendation
 
 (See summary.)
 
-!wording 96-09-15
+!wording
 
 1. Add object names to 13.14(8):
 
@@ -164,7 +165,7 @@
    then at the place where the expression causes freezing,
    T is frozen.
 
-!discussion 96-09-15
+!discussion
 
 1. 13.14(8) says that expressions cause freezing.  It does not cover
 names that denote objects, but it should -- the reasons for the
@@ -220,7 +221,60 @@
 should freeze even if it is removed via the Implementation Permissions
 in 7.6(18-21); otherwise, there would be a portability problem.
 
-!appendix 96-04-17
+!corrigendum 13.14(8)
+
+@drepl
+A static expression causes freezing where it occurs. A nonstatic
+expression causes freezing where it occurs, unless the expression is part of
+a @fa<default_expression>, a @fa<default_name>, or a per-object expression of a
+component's @fa<constraint>, in which case, the freezing occurs later as part of
+another construct.
+@dby
+A static expression causes freezing where it occurs.  An object
+name or nonstatic expression causes freezing where it occurs, unless
+the name or expression is part of a @fa<default_expression>, a
+@fa<default_name>, or a per-object expression of a component's @fa<constraint>,
+in which case, the freezing occurs later as part of another construct.
+
+!corrigendum 13.14(11)
+
+@drepl
+@xbullet<At the place where a @fa<name> causes freezing, the entity denoted by
+the name is frozen, unless the @fa<name> is a @fa<prefix> of an expanded
+name; at the place where an object @fa<name> causes freezing, the
+nominal subtype associated with the @fa<name> is frozen.>
+@dby
+@xbullet<At the place where a @fa<name> or @fa<implicit_dereference> causes
+freezing, the denoted entity is frozen, unless the @fa<name> is a @fa<prefix> of an
+expanded name; at the place where an object @fa<name> or @fa<implicit_dereference>
+causes freezing, the associated nominal subtype is frozen.>
+
+!corrigendum 13.14(15)
+
+@dinsa
+@xbullet<At the place where a subtype is frozen, its type is frozen. At
+the place where a type is frozen, any expressions or @fa<name>s within
+the full type definition cause freezing; the first subtype, and
+any component subtypes, index subtypes, and parent subtype of the
+type are frozen as well. For a specific tagged type, the
+corresponding class-wide type is frozen as well. For a
+class-wide type, the corresponding specific type is frozen as
+well.>
+@dinss
+An implicit call to one of the subprograms in Ada.Finalization
+or System.Storage_Pools freezes the same entities that would
+be frozen by an explicit call. This is true even if the implicit
+call is removed via the Implementation Permissions in 7.6.
+
+If an expression is explicitly converted to a type or subtype @i<T>,
+then at the place where the expression causes freezing,
+@i<T> is frozen.
+
+!ACATS test
+
+A B-Test should be constructed to check each of the examples in this issue.
+
+!appendix
 
 !section 13.14(06)
 !subject Does an object renaming cause freezing?

Questions? Ask the ACAA Technical Agent