CVS difference for ai12s/ai12-0414-1.txt
--- ai12s/ai12-0414-1.txt 2020/12/11 22:22:26 1.2
+++ ai12s/ai12-0414-1.txt 2021/02/13 04:12:29 1.3
@@ -1,7 +1,35 @@
-!standard A.2(2) 20-12-11 AI12-0414-1/00
+!standard 13.7(3/2) 21-02-10 AI12-0414-1/01
+!standard 13.7.1(2/2)
+!standard A.1(4)
+!standard A.2(2)
+!standard A.2(3)
!standard A.3.1(2)
!standard A.3.1(4/2)
!standard A.3.1(6/2)
+!standard A.3.2(2/2)
+!standard A.3.3(3)
+!standard A.3.4(2/2)
+!standard A.3.5(3/3)
+!standard A.4.1(3)
+!standard A.4.2(3/2)
+!standard A.4.6(3/2)
+!standard A.4.9(2/3)
+!standard A.4.9(11.2/3)
+!standard A.4.10(2/3)
+!standard A.4.10(13/3)
+!standard A.4.11(3/3)
+!standard A.4.11(15/3)
+!standard A.4.11(22/3)
+!standard A.4.11(30/3)
+!standard A.4.11(38/3)
+!standard A.5(3/2)
+!standard A.13(3)
+!standard A.18.1(3/2)
+!standard A.19(3/3)
+!standard B.2(3)
+!standard B.3(4)
+!standard B.5(4)
+!standard F.2(2)
!class presentation 20-12-03
!status Amendment 1-2012 20-12-11
!status ARG Approved 15-0-0 20-12-09
@@ -29,13 +57,402 @@
!wording
-** Editor: I still have to go through the entire RM looking for categorization
-pragmas and record the paragraph numbers. The first four are in the !standards
-above. **
+Modify the following paragraphs (all categorization pragmas in headers of
+language-defined paragraphs):
+13.7(3/2)
+13.7.1(2/2)
+A.1(4)
+A.2(2)
+A.3.1(2)
+A.3.1(4/2)
+A.3.1(6/2)
+A.3.2(2/2)
+A.3.3(3)
+A.3.4(2/2)
+A.3.5(3/3)
+A.4.1(3)
+A.4.2(3/2)
+A.4.6(3/2)
+A.4.9(2/3)
+A.4.9(11.2/3)
+A.4.10(2/3)
+A.4.10(13/3)
+A.4.11(3/3)
+A.4.11(15/3)
+A.4.11(22/3)
+A.4.11(30/3)
+A.4.11(38/3)
+A.5(3/2)
+A.13(3)
+A.18.1(3/2)
+A.19(3/3)
+B.2(3)
+B.3(4)
+B.5(4)
+E.4.1(2) -- Part of an example.
+E.4.1(3) -- Part of an example.
+F.2(2)
+
+Modify A.2(3):
+
+Ada serves as the parent of most of the other language-defined library units;
+its declaration is empty[ (except for the pragma Pure)].
+
+Modify A.4.7(46.2/2) (as modified by AI12-0302-1):
+
+{Aspect}[Pragma] Pure is replaced by aspects [with] Preelaborate, Nonblocking,
+Global => in out synchronized in Strings.Wide_Maps.Wide_Constants.
+
+Modify A.4.8(50/2) (as modified by AI12-0302-1):
+
+{Aspect}[Pragma] Pure is replaced by aspects [with] Preelaborate, Nonblocking,
+Global => in out synchronized in Strings.Wide_Wide_Maps.Wide_Wide_Constants.
+
!discussion
Consistency is good.
+
+!corrigendum 13.7(3/2)
+
+@drepl
+@xcode<@b<package> System @b<is>
+ @b<pragma> Pure(System);>
+@dby
+@xcode<@b<package> System
+ @b<with> Pure @b<is>>
+
+!corrigendum 13.7.1(2/2)
+
+@drepl
+@xcode<@b<package> System.Storage_Elements @b<is>
+ @b<pragma> Pure(Storage_Elements);>
+@dby
+@xcode<@b<package> System.Storage_Elements
+ @b<with> Pure @b<is>>
+
+!corrigendum A.1(4)
+
+@drepl
+@xcode<@b<package> Standard @b<is>
+ @b<pragma> Pure(Standard);>
+@dby
+@xcode<@b<package> Standard
+ @b<with> Pure @b<is>>
+
+!corrigendum A.2(2)
+
+@drepl
+@xcode<@b<package> Ada @b<is>
+ @b<pragma> Pure(Ada);
+@b<end> Ada;>
+@dby
+@xcode<@b<package> Ada
+ @b<with> Pure @b<is>
+@b<end> Ada;>
+
+!corrigendum A.2(3)
+
+@drepl
+Ada serves as the parent of most of the other language-defined library units;
+its declaration is empty (except for the pragma Pure).
+@dby
+Ada serves as the parent of most of the other language-defined library units;
+its declaration is empty.
+
+!corrigendum A.3.1(2)
+
+@drepl
+@xcode<@b<package> Ada.Characters @b<is>
+ @b<pragma> Pure(Characters);
+@b<end> Ada.Characters;>
+@dby
+@xcode<@b<package> Ada.Characters
+ @b<with> Pure @b<is>
+@b<end> Ada.Characters;>
+
+!corrigendum A.3.1(4/2)
+
+@drepl
+@xcode<@b<package> Ada.Wide_Characters @b<is>
+ @b<pragma> Pure(Wide_Characters);
+@b<end> Ada.Wide_Characters;>
+@dby
+@xcode<@b<package> Ada.Wide_Characters
+ @b<with> Pure @b<is>
+@b<end> Ada.Wide_Characters;>
+
+!corrigendum A.3.1(6/2)
+
+@drepl
+@xcode<@b<package> Ada.Wide_Wide_Characters @b<is>
+ @b<pragma> Pure(Wide_Wide_Characters);
+@b<end> Ada.Wide_Wide_Characters;>
+@dby
+@xcode<@b<package> Ada.Wide_Wide_Characters
+ @b<with> Pure @b<is>
+@b<end> Ada.Wide_Wide_Characters;>
+
+!corrigendum A.3.2(2/2)
+
+@drepl
+@xcode<@b<with> Ada.Characters.Conversions;
+@b<package> Ada.Characters.Handling @b<is>
+ @b<pragma> Pure(Handling);>
+@dby
+@xcode<@b<with> Ada.Characters.Conversions;
+@b<package> Ada.Characters.Handling
+ @b<with> Pure @b<is>>
+
+!corrigendum A.3.3(3)
+
+@drepl
+@xcode<@b<package> Ada.Characters.Latin_1 @b<is>
+ @b<pragma> Pure(Latin_1);>
+@dby
+@xcode<@b<package> Ada.Characters.Latin_1
+ @b<with> Pure @b<is>>
+
+!corrigendum A.3.4(2/2)
+
+@drepl
+@xcode<@b<package> Ada.Characters.Conversions @b<is>
+ @b<pragma> Pure(Conversions);>
+@dby
+@xcode<@b<package> Ada.Characters.Conversions
+ @b<with> Pure @b<is>>
+
+!corrigendum A.3.5(3/3)
+
+@drepl
+@xcode<@b<package> Ada.Wide_Characters.Handling @b<is>
+ @b<pragma> Pure(Handling);>
+@dby
+@xcode<@b<package> Ada.Wide_Characters.Handling
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.1(3)
+
+@drepl
+@xcode<@b<package> Ada.Strings @b<is>
+ @b<pragma> Pure(Strings);>
+@dby
+@xcode<@b<package> Ada.Strings
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.2(3/2)
+
+@drepl
+@xcode<@b<package> Ada.Strings.Maps @b<is>
+ @b<pragma> Pure(Maps);>
+@dby
+@xcode<@b<package> Ada.Strings.Maps
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.6(3/2)
+
+@drepl
+@xcode<@b<package> Ada.Strings.Maps.Constants @b<is>
+ @b<pragma> Pure(Constants);>
+@dby
+@xcode<@b<package> Ada.Strings.Maps.Constants
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.7(46.2/2)
+
+@drepl
+@fa<Pragma> Pure is replaced by pragma Preelaborate in Strings.Wide_Maps.Wide_Constants.
+@dby
+Aspect Pure is replaced by aspects @fc<Preelaborate, Nonblocking,
+Global =@> @b<in out synchronized>> in Strings.Wide_Maps.Wide_Constants.
+
+!corrigendum A.4.8(50/2)
+
+@drepl
+@fa<Pragma> Pure is replaced by pragma Preelaborate in Strings.Wide_Maps.Wide_Constants.
+@dby
+Aspect Pure is replaced by aspects @fc< Preelaborate, Nonblocking,
+Global =@> @b<in out synchronized>> in Strings.Wide_Wide_Maps.Wide_Wide_Constants.
+
+!corrigendum A.4.9(2/3)
+
+@drepl
+@xcode<@b<with> Ada.Containers;
+@b<function> Ada.Strings.Hash (Key : String) @b<return> Containers.Hash_Type;
+@b<pragma> Pure(Ada.Strings.Hash);>
+@dby
+@xcode<@b<with> Ada.Containers;
+@b<function> Ada.Strings.Hash (Key : String) @b<return> Containers.Hash_Type
+ @b<with> Pure;>
+
+!corrigendum A.4.9(11.2/3)
+
+@drepl
+@xcode<@b<with> Ada.Containers;
+@b<function> Ada.Strings.Hash_Case_Insensitive (Key : String)
+ @b<return> Containers.Hash_Type;
+@b<pragma> Pure(Ada.Strings.Hash_Case_Insensitive);>
+@dby
+@xcode<@b<with> Ada.Containers;
+@b<function> Ada.Strings.Hash_Case_Insensitive (Key : String)
+ @b<return> Containers.Hash_Type
+ @b<with> Pure;>
+
+!corrigendum A.4.10(2/3)
+
+@drepl
+@xcode<@b<function> Ada.Strings.Equal_Case_Insensitive (Left, Right : String)
+ @b<return> Boolean;
+@b<pragma> Pure(Ada.Strings.Equal_Case_Insensitive);>
+@dby
+@xcode<@b<function> Ada.Strings.Equal_Case_Insensitive (Left, Right : String)
+ @b<return> Boolean @b<with> Pure;>
+
+!corrigendum A.4.10(13/3)
+
+@drepl
+@xcode<@b<function> Ada.Strings.Less_Case_Insensitive (Left, Right : String)
+ @b<return> Boolean;
+@b<pragma> Pure(Ada.Strings.Less_Case_Insensitive);>
+@dby
+@xcode<@b<function> Ada.Strings.Less_Case_Insensitive (Left, Right : String)
+ @b<return> Boolean @b<with> Pure;>
+
+!corrigendum A.4.11(3/3)
+
+@drepl
+@xcode<@b<package> Ada.Strings.UTF_Encoding @b<is>
+ @b<pragma> Pure(UTF_Encoding);>
+@dby
+@xcode<@b<package> Ada.Strings.UTF_Encoding
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.11(15/3)
+
+@drepl
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Conversions @b<is>
+ @b<pragma> Pure(Conversions);>
+@dby
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Conversions
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.11(22/3)
+
+@drepl
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Strings @b<is>
+ @b<pragma> Pure(Strings);>
+@dby
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Strings
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.11(30/3)
+
+@drepl
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Wide_Strings @b<is>
+ @b<pragma> Pure(Wide_Strings);>
+@dby
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Wide_Strings
+ @b<with> Pure @b<is>>
+
+!corrigendum A.4.11(38/3)
+
+@drepl
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Wide_Wide_Strings @b<is>
+ @b<pragma> Pure(Wide_Wide_Strings);>
+@dby
+@xcode<@b<package> Ada.Strings.UTF_Encoding.Wide_Wide_Strings
+ @b<with> Pure @b<is>>
+
+!corrigendum A.5(3/2)
+
+@drepl
+@xcode<@b<package> Ada.Numerics @b<is>
+ @b<pragma> Pure(Numerics);
+ Argument_Error : @b<exception>;
+ Pi : @b<constant> :=
+ 3.14159_26535_89793_23846_26433_83279_50288_41971_69399_37511;
+ @Pi : @b<constant> := Pi;
+ e : @b<constant> :=
+ 2.71828_18284_59045_23536_02874_71352_66249_77572_47093_69996;
+@b<end> Ada.Numerics;>
+@dby
+@xcode<@b<package> Ada.Numerics
+ @b<with> Pure @b<is>
+ Argument_Error : @b<exception>;
+ Pi : @b<constant> :=
+ 3.14159_26535_89793_23846_26433_83279_50288_41971_69399_37511;
+ @Pi : @b<constant> := Pi;
+ e : @b<constant> :=
+ 2.71828_18284_59045_23536_02874_71352_66249_77572_47093_69996;
+@b<end> Ada.Numerics;>
+
+!corrigendum A.13(3)
+
+@drepl
+@xcode<@b<package> Ada.IO_Exceptions @b<is>
+ @b<pragma> Pure(IO_Exceptions);>
+@dby
+@xcode<@b<package> Ada.IO_Exceptions
+ @b<with> Pure @b<is>>
+
+!corrigendum A.18.1(3/2)
+
+@drepl
+@xcode<@b<package> Ada.Containers @b<is>
+ @b<pragma> Pure(Containers);>
+@dby
+@xcode<@b<package> Ada.Containers
+ @b<with> Pure @b<is>>
+
+!corrigendum A.19(3/3)
+
+@drepl
+@xcode<@b<package> Ada.Locales @b<is>
+ @b<pragma> Preelaborate(Locales);
+ @b<pragma> Remote_Types(Locales);
+@dby
+@xcode<@b<package> Ada.Locales
+ @b<with> Preelaborate, Remote_Types @b<is>
+
+!corrigendum B.2(3)
+
+@drepl
+@xcode<@b<package> Interfaces @b<is>
+ @b<pragma> Pure(Interfaces);>
+@dby
+@xcode<@b<package> Interfaces
+ @b<with> Pure @b<is>>
+
+!corrigendum B.3(4)
+
+@drepl
+@xcode<@b<package> Interfaces.C @b<is>
+ @b<pragma> Pure(Interfaces.C);>
+@dby
+@xcode<@b<package> Interfaces.C
+ @b<with> Pure @b<is>>
+
+!corrigendum B.5(4)
+
+@drepl
+@xcode<@b<with> Ada.Numerics.Generic_Complex_Types; -- @ft<@i<see G.1.1>>
+@b<pragma> Elaborate_All(Ada.Numerics.Generic_Complex_Types);
+@b<package> Interfaces.Fortran @b<is>
+ @b<pragma> Pure(Fortran);>
+@dby
+@xcode<@b<with> Ada.Numerics.Generic_Complex_Types; -- @ft<@i<see G.1.1>>
+@b<pragma> Elaborate_All(Ada.Numerics.Generic_Complex_Types);
+@b<package> Interfaces.Fortran
+ @b<with> Pure @b<is>>
+
+!corrigendum F.2(2)
+
+@drepl
+@xcode<@b<package> Ada.Decimal @b<is>
+ @b<pragma> Pure(Decimal);>
+@dby
+@xcode<@b<package> Ada.Decimal
+ @b<with> Pure @b<is>>
!ASIS
Questions? Ask the ACAA Technical Agent