CVS difference for arm/source/07.mss

Differences between 1.90 and version 1.91
Log of other versions for file arm/source/07.mss

--- arm/source/07.mss	2007/09/14 03:34:28	1.90
+++ arm/source/07.mss	2007/11/30 03:34:22	1.91
@@ -1,10 +1,10 @@
 @Part(07, Root="ada.mss")
-@Comment{$Date: 2007/09/14 03:34:28 $}
+@Comment{$Date: 2007/11/30 03:34:22 $}
 @Comment{$Source: e:\\cvsroot/ARM/Source/07.mss,v $}
-@Comment{$Revision: 1.90 $}
+@Comment{$Revision: 1.91 $}
@@ -745,7 +745,7 @@
 In addition to the places where @LegalityTitle normally apply
 (see @RefSecNum{Generic Instantiation}),
 the requirement that the ancestor be specific applies also in the
-private part of an instance of a generic unit.
+private part of an instance of a generic unit.@PDefn{generic contract issue}
   This rule allows the full view to be defined
   through several intermediate derivations,
@@ -1536,10 +1536,12 @@
+  @ChgRef{Version=[3],Kind=[Revised],ARef=[AI05-0062-1]}
   If the @Chg{Version=[2],New=[deferred constant declaration includes
   a],Old=[subtype defined by the]} @nt<subtype_indication> @Chg{Version=[2],
   New=[that defines a],Old=[in the deferred declaration is]}
-  constrained@Chg{Version=[2],New=[ subtype],Old=[]}, then the subtype defined
+  constrained@Chg{Version=[2],New=[ subtype],Old=[]}, then the
+  @Chg{Version=[3],New=[constraint],Old=[subtype]} defined
   by the @nt<subtype_indication> in the full declaration shall match it
   statically.@Redundant[ On the other hand,
   if the subtype of the deferred constant is unconstrained,
@@ -1690,6 +1692,11 @@
   @ChgAdded{Version=[2],Text=[Added matching rules for subtypes that
   exclude null.]}
+  @ChgRef{Version=[3],Kind=[AddedNormal],ARef=[AI05-0062-1]}
+  @ChgAdded{Version=[3],Text=[@b<Corrigendum 2:> Corrected rules so
+  that the intent that a full constant may have a null exclusion even
+  if the deferred constant does not is actually met.]}
@@ -2251,10 +2258,14 @@
 @ChgAdded{Version=[2],Text=[it has a component that needs finalization; or]}
-@ChgDeleted{Version=[3],Text=[@Chg{Version=[2],New=[it is a limited type that
+@Chg{Version=[3],New=[it is a class-wide type; or],
+Old=[@Chg{Version=[2],New=[it is a limited type that
 has an access discriminant whose designated type needs finalization; or],Old=[]}]}
+@ChgAdded{Version=[3],Text=[it is a partial view whose full view needs finalization; or]}
 @ChgAdded{Version=[2],Text=[it is one of a number of language-defined types
 that are explicitly defined to need finalization.]}
@@ -2525,7 +2536,8 @@
-@ChgAdded{Version=[2],Text=[An @nt{aggregate} used in the return expression
+@ChgAdded{Version=[2],Text=[An @nt{aggregate} of a controlled type
+used in the return expression
 of a @nt{simple_@!return_@!statement} has to be built-in-place in the anonymous
 return object, as this is similar to an object declaration. (This is a change
 from Ada 95, but it is not an inconsistency as it only serves to restrict
@@ -2755,6 +2767,16 @@
   in No_Nested_Finalization @en see @RefSecNum{Tasking Restrictions})
   or that they cannot happen.]}
+  @ChgRef{Version=[3],Kind=[AddedNormal],ARef=[AI05-0013-1]}
+  @ChgAdded{Version=[3],Text=[@b<Corrigendum 2:> Corrected the
+  @ldquote@;needs finalization@rdquote rules to include class-wide types,
+  as a future extension can include a part that needs finalization.]}
+  @ChgRef{Version=[3],Kind=[AddedNormal],ARef=[AI05-0026-1]}
+  @ChgAdded{Version=[3],Text=[@b<Corrigendum 2:> Corrected the
+  @ldquote@;needs finalization@rdquote rules to clearly say that they
+  ignore privacy.]}
   @ChgAdded{Version=[3],Text=[@b<Corrigendum 2:> Corrected wording to
   reflect that limited types also have assignment operations.]}
@@ -3547,4 +3569,7 @@
   the same time as the outer object. (This was intended for Ada 95, but since
   the concept did not have a name, it was overlooked.)]}
+  @ChgRef{Version=[3],Kind=[AddedNormal],ARef=[AI05-0064-1]}
+  @ChgAdded{Version=[3],Text=[@b<Corrigendum 2:> Removed a redundant rule,
+  which is now covered by the additional places where masters are defined.]}

Questions? Ask the ACAA Technical Agent