CVS difference for ais/ai-00161.txt

Differences between 1.16 and version 1.17
Log of other versions for file ais/ai-00161.txt

--- ais/ai-00161.txt	2005/04/13 05:36:53	1.16
+++ ais/ai-00161.txt	2005/06/16 23:47:08	1.17
@@ -1,4 +1,4 @@
-!standard 10.02.01 (04)                               05-03-03  AI95-00161/09
+!standard 10.02.01 (04)                               05-06-08  AI95-00161/10
 !standard 10.02.01 (09)
 !standard 10.02.01 (11)
 !standard  7.06 (05)
@@ -76,7 +76,8 @@
 - The partial view of a private type or private extension, a protected type
 without entry_declarations, a generic formal private type, or a generic
 formal derived type, have preelaborable initialization if and only if the pragma
-Preelaborable_Initialization has been applied to them.
+Preelaborable_Initialization has been applied to them. A task type or
+protected type with entry_declarations never have preelaborable initialization.
 
 - A component (including a discriminant) of a record or protected type has
 preelaborable initialization if its declaration includes a default_expression
@@ -116,10 +117,6 @@
 in the same generic_formal_part as the pragma. In a generic_instantiation the
 corresponding actual type shall have preelaborable initialization."
 
-AARM Note: Protected types with entry_declarations and task types do not have
-preelaborable initialization, and cannot have pragma
-Preelaborable_Initialization applied to them.
-
 !discussion
 
 1. A "default-initialized object" is an object for which the implicit
@@ -209,7 +206,7 @@
 @dinsa
 @xindent<A @fa<pragma> Preelaborate is a library unit pragma.>
 @dinss
-@xindent<The form of @fa<pragma> Preelaborable_Initialization is as follows:@hr
+@xindent<The form of a @fa<pragma> Preelaborable_Initialization is as follows:@hr
      @b<pragma> Preelaborable_Initialization (@fa<direct_name>);>
 
 !corrigendum 10.02.01(9)
@@ -240,12 +237,14 @@
 compilation units of a preelaborated library unit shall depend semantically
 only on compilation units of other preelaborated library units.
 @dinss
-The following rules specify which entities have preelaborable initialization:
+The following rules specify which entities have @i<preelaborable initialization>:
 
 @xbullet<The partial view of a private type or private extension, a protected
 type without @fa<entry_declaration>s, a generic formal private type, or a
 generic formal derived type, have preelaborable initialization if and only if
-the @fa<pragma> Preelaborable_Initialization has been applied to them.>
+the @fa<pragma> Preelaborable_Initialization has been applied to them. A
+task type or protected type with @fa<entry_declaration>s never have
+preelaborable initialization.>
 
 @xbullet<A component (including a discriminant) of a record or protected type
 has preelaborable initialization if its declaration includes a
@@ -256,7 +255,7 @@
 @xbullet<A derived type has preelaborable initialization if its parent type has
 preelaborable initialization and (in the case of a derived record or protected
 type) if the non-inherited components all have preelaborable initialization.
-Moreover, a user-defined controlled type with an overridding
+Moreover, a user-defined controlled type with an overriding
 Initialize procedure does not have preelaborable initialization.>
 
 @xbullet<A view of a type has preelaborable initialization if it is an
@@ -299,10 +298,10 @@
 
 @drepl
 @xcode<    @b<type> Root_Storage_Pool @b<is>
-        @b<abstract new> Ada.Controlled.Limited_Controlled @b<with private>;>
+        @b<abstract new> Ada.Finalization.Limited_Controlled @b<with private>;>
 @dby
 @xcode<    @b<type> Root_Storage_Pool @b<is>
-        @b<abstract new> Ada.Controlled.Limited_Controlled @b<with private>;
+        @b<abstract new> Ada.Finalization.Limited_Controlled @b<with private>;
     @b<pragma> Preelaborable_Initialization(Root_Storage_Pool);>
 
 !corrigendum  13.13.1(03)
@@ -316,20 +315,20 @@
 !corrigendum  A.4.2(04)
 
 @drepl
-@xcode<    -- @i<@ft<Representation for a set of character values:>>
+@xcode<    --@i<@ft< Representation for a set of character values:>>
     @b<type> Character_Set @b<is private>;>
 @dby
-@xcode<    -- @i<@ft<Representation for a set of character values:>>
+@xcode<    --@i<@ft< Representation for a set of character values:>>
     @b<type> Character_Set @b<is private>;
     @b<pragma> Preelaborable_Initialization(Character_Set);>
 
 !corrigendum  A.4.2(20)
 
 @drepl
-@xcode<    -- @i<@ft<Representation for a character to character mapping:>>
+@xcode<    --@i<@ft< Representation for a character to character mapping:>>
     @b<type> Character_Mapping @b<is private>;>
 @dby
-@xcode<    -- @i<@ft<Representation for a character to character mapping:>>
+@xcode<    --@i<@ft< Representation for a character to character mapping:>>
     @b<type> Character_Mapping @b<is private>;
     @b<pragma> Preelaborable_Initialization(Character_Mapping);>
 
@@ -344,20 +343,20 @@
 !corrigendum  A.4.7(04)
 
 @drepl
-@xcode<    -- @i<@ft<Representation for a set of Wide_Character values:>>
+@xcode<    --@i<@ft< Representation for a set of Wide_Character values:>>
     @b<type> Wide_Character_Set @b<is private>;>
 @dby
-@xcode<    -- @i<@ft<Representation for a set of Wide_Character values:>>
+@xcode<    --@i<@ft< Representation for a set of Wide_Character values:>>
     @b<type> Wide_Character_Set @b<is private>;
     @b<pragma> Preelaborable_Initialization(Wide_Character_Set);>
 
 !corrigendum  A.4.7(20)
 
 @drepl
-@xcode<    -- @i<@ft<Representation for a Wide_Character to Wide_Character mapping:>>
+@xcode<    --@i<@ft< Representation for a Wide_Character to Wide_Character mapping:>>
     @b<type> Wide_Character_Mapping @b<is private>;>
 @dby
-@xcode<    -- @i<@ft<Representation for a Wide_Character to Wide_Character mapping:>>
+@xcode<    --@i<@ft< Representation for a Wide_Character to Wide_Character mapping:>>
     @b<type> Wide_Character_Mapping @b<is private>;
     @b<pragma> Preelaborable_Initialization(Wide_Character_Mapping);>
 

Questions? Ask the ACAA Technical Agent