CVS difference for ai12s/ai12-0178-1.txt

Differences between 1.5 and version 1.6
Log of other versions for file ai12s/ai12-0178-1.txt

--- ai12s/ai12-0178-1.txt	2016/04/12 04:48:39	1.5
+++ ai12s/ai12-0178-1.txt	2016/04/19 05:49:39	1.6
@@ -2,12 +2,13 @@
 !standard 4.3.2(13)
 !standard 4.3.3(45/2)
 !standard 4.5.2(37)
-!standard 9.11(8/2)
+!standard 9.7.3(6)
+!standard 9.11(7.1/2)
 !standard 10.1.2(29/2)
 !standard 11.2(12)
 !standard 11.4.3(2/2)
-!standard 11.4.3(5/2)
-!standard 11.4.3(5/2)
+!standard 11.4.3(5)
+!standard 11.4.3(6/2)
 !standard 11.4.3(10)
 !standard 12.1(22)
 !standard 12.3(24)
@@ -49,8 +50,8 @@
 
 Modify 4.3.2(13):
 
-    (Expression with Left  => {new Literal'(Value =>}1.2{)},{
-                    }Right => {new Literal'(Value =>}3.4{)})
+    (Expression with Left  => {new Literal'(Value => }1.2{)},{
+                    }Right => {new Literal'(Value => }3.4{)})
     Addition'(Binop with null record)
                 -- presuming Binop is of type Binary_Operation
 
@@ -77,14 +78,14 @@
 
 Modify 9.7.3(6): (just the modified part shown)
 
-    procedure Spin(R : in {out} Resource) is {-- See 9.4}
+    procedure Spin(R : in {out} Resource) is {-- see 9.4}
 
 [Note: It's necessary to have a variable to call an entry of a protected object,
 by 9.5(7.1/3). Resource is declared in the example of 9.4.]
 
 Insert before 9.11(8/2):
 
-    type Person_Name_Array is array (Positive range <>) of Person_Name; -- See 3.10.1
+    type Person_Name_Array is array (Positive range <>) of Person_Name; -- see 3.10.1
 
 [Note: This was identified in April 2011 (see !discussion of AI05-0248-1), but
 for some reason wasn't addressed. We do it now.]
@@ -196,7 +197,7 @@
 
    Device_Priority : constant
       array ({Ada.Interrupts.Interrupt_Id range }1..5) of{
-         }System.Interrupt_Priority := ( others => ... );
+         }System.Interrupt_Priority := ( ... );
 
 
 !discussion
@@ -264,6 +265,294 @@
 more useful to have LHS := before and ; after.  If we are going to be pedantic,
 then the examples of procedure calls are actually procedure call statements.
 
+!corrigendum 4.1.3(17/2)
+
+@dprepl
+@xcode<Pool(K).Write      --@ft<@i<  an entry of the task Pool(K)            (see 9.4)>>>
+@dby
+@xcode<Pool(K).Write      --@ft<@i<  an entry of the task Pool(K)            (see 9.1)>>>
+
+!corrigendum 4.3.2(13)
+
+@drepl
+@xcode<(Expression @b<with> Left =@> 1.2, Right =@> 3.4)
+Addition'(Binop @b<with null record>)
+             --@ft<@i< presuming Binop is of type Binary_Operation>>>
+@dby
+@xcode<(Expression @b<with> Left =@>  @b<new> Literal'(Value =@> 1.2),
+                 Right =@> @b<new> Literal'(Value =@> 3.4))
+Addition'(Binop @b<with null record>)
+             --@ft<@i< presuming Binop is of type Binary_Operation>>>
+
+!corrigendum 4.3.3(45/2)
+
+@drepl
+@xcode<Buffer'(Size =@> 50, Pos =@> 1, Value =@> String'('x', @b<others> =@> <@>))  --@ft<@i< see 3.7>>>
+@dby
+@xcode<Buffer'(Size =@> 50, Pos =@> 1, Value =@> ('x', @b<others> =@> <@>))  --@ft<@i< see 3.7>>>
+
+!corrigendum 4.5.2(37)
+
+@drepl
+@xcode<"" < "A" @b<and> "A" < "Aa"     --@ft<@i<  True>>
+"Aa" < "B" @b<and> "A" < "A  "  --@ft<@i<  True>>>
+@dby
+@xcode<S : String := "A";
+"" < S @b<and> S < "Aa"         --@ft<@i<  True>>
+S < "Bb" @b<and> S < "A  "      --@ft<@i<  True>>>
+
+!corrigendum 9.7.3(6)
+
+@dprepl
+@xcode<@b<procedure> Spin(R : @b<in> Resource) @b<is>>
+@dby
+@xcode<@b<procedure> Spin(R : @b<in out> Resource) @b<is>  --@ft<@i< see 9.4>>>
+
+!corrigendum 9.11(7.1/2)
+
+@dinsa
+The Buffer is defined as an extension of the Synchronized_Queue interface
+(see 3.9.4), and as such promises to implement the abstraction defined by that
+interface. By doing so, the Buffer can be passed to the Transfer class-wide
+operation defined for objects of a type covered by Queue'Class.
+@dinst
+@xcode<@b<type> Person_Name_Array @b<is array> (Positive @b<range> <@>) @b<of> Person_Name; --@ft<@i< see 3.10.1>>>
+
+!corrigendum 10.1.2(29/2)
+
+@drepl
+@xcode<@b<limited with> Office.Employees;
+@b<package> Office.Departments @b<is>
+   @b<type> Department @b<is private>;>
+@dby
+@xcode<@b<limited with> Office.Employees;
+@b<package> Office.Departments @b<is>
+   @b<type> Department @b<is> ...;>
+
+!corrigendum 11.2(12)
+
+@drepl
+@xcode<@b<begin>
+   Open(File, In_File, "input.txt");   --@ft<@i< see A.8.2>>
+@b<exception>
+   @b<when> E : Name_Error =@>
+      Put("Cannot open input file : ");
+      Put_Line(Exception_Message(E));  --@ft<@i< see 11.4.1>>
+      @b<raise>;
+@b<end>;>
+@dby
+@xcode<@b<begin>
+   Open(File, In_File, "input.txt");   --@ft<@i< see A.8.2>>
+@b<exception>
+   @b<when> E : Name_Error =@>
+      Put("Cannot open input file : ");
+      Put_Line(Ada.Exceptions.Exception_Message(E));  --@ft<@i< see 11.4.1>>
+      @b<raise>;
+@b<end>;>
+
+!corrigendum 11.4.3(2/2)
+
+@drepl
+@xcode<@b<package> File_System @b<is>
+    @b<type> File_Handle @b<is limited private>;>
+@dby
+@xcode<@b<package> File_System @b<is>
+    @b<type> Data_Type @b<is> ...;
+    @b<type> File_Handle @b<is limited private>;>
+
+!corrigendum 11.4.3(5)
+
+@drepl
+@xcode<    ...
+@b<end> File_System;>
+@dby
+@xcode<    ...
+@b<private>
+    ...
+@b<end> File_System;>
+
+@xcode<@b<package body> File_System @b<is>
+    ...>
+
+!corrigendum 11.4.3(6/2)
+
+@drepl
+@xcode<@b<package body> File_System @b<is>
+    @b<procedure> Open(F : @b<in out> File_Handle; Name : String) @b<is>
+    @b<begin>
+        @b<if> File_Exists(Name) @b<then>
+            ...
+        @b<else>
+            @b<raise> File_Not_Found @b<with> "File not found: " & Name & ".";
+        @b<end if>;
+    @b<end> Open;>
+@dby
+@xcode<    @b<procedure> Open(F : @b<in out> File_Handle; Name : String) @b<is>
+    @b<begin>
+        @b<if> File_Exists(Name) @b<then>
+            ...
+        @b<else>
+            @b<raise> File_Not_Found @b<with> "File not found: " & Name & ".";
+        @b<end if>;
+    @b<end> Open;>
+
+!corrigendum 11.4.3(10)
+
+@dprepl
+@xcode<@b<with> Ada.Text_IO;
+@b<with> Ada.Exceptions;
+@b<with> File_System; @b<use> File_System;
+@b<use> Ada;
+@b<procedure> Main @b<is>
+@b<begin>>
+@dby
+@xcode<@b<with> Ada.Text_IO;
+@b<with> Ada.Exceptions;
+@b<with> File_System; @b<use> File_System;
+@b<use> Ada;
+@b<procedure> Main @b<is>
+    Verbosity_Desired : Boolean := ...;
+@b<begin>>
+
+!corrigendum 12.1(22)
+
+@drepl
+@xcode<@b<generic>
+   @b<type> Item @b<is private>;
+   @b<with function> "*"(U, V : Item) @b<return> Item @b<is> <@>;
+@b<function> Squaring(X : Item) @b<return> Item;>
+@dby
+@xcode<@b<generic>
+   @b<type> Item (<@>) @b<is private>;
+   @b<with function> "*"(U, V : Item) @b<return> Item @b<is> <@>;
+@b<function> Squaring(X : Item) @b<return> Item;>
+
+!corrigendum 12.3(24)
+
+@drepl
+@xcode<@b<procedure> Swap @b<is new> Exchange(Elem =@> Integer);
+@b<procedure> Swap @b<is new> Exchange(Character);           --@ft<@i<  Swap is overloaded >>
+@b<function> Square @b<is new> Squaring(Integer);            --@ft<@i<  "*" of Integer used by default>>
+@b<function> Square @b<is new> Squaring(Item =@> Matrix, "*" =@> Matrix_Product);
+@b<function> Square @b<is new> Squaring(Matrix, Matrix_Product); --@ft<@i< same as previous>>>   
+@dby
+@xcode<@b<procedure> Swap @b<is new> Exchange(Elem =@> Integer);
+@b<procedure> Swap @b<is new> Exchange(Character);           --@ft<@i<  Swap is overloaded >>
+@b<function> Square @b<is new> Squaring(Integer);            --@ft<@i<  "*" of Integer used by default>>
+@b<function> Square1 @b<is new> Squaring(Item =@> Matrix, "*" =@> Matrix_Product);
+@b<function> Square2 @b<is new> Squaring(Matrix, Matrix_Product); --@ft<@i< same as previous>>>   
+
+!corrigendum 12.7(19/2)
+
+@drepl
+@xcode<   @b<type> String_Id @b<is> ...>
+@dby
+@xcode<   @b<subtype> Key_String @b<is> String(1..5);
+   @b<type> String_Id @b<is> ...>
+
+!corrigendum 12.7(21/2)
+
+@drepl
+@xcode<   @b<package> String_Table @b<is new> Ada.Containers.Ordered_Maps
+           (Key_Type =@> String,
+            Element_Type =@> String_Id);>
+@dby
+@xcode<   @b<package> String_Table @b<is new> Ada.Containers.Ordered_Maps
+           (Key_Type =@> Key_String,
+            Element_Type =@> String_Id);>
+
+!corrigendum 13.5.1(27)
+
+@drepl
+@xcode<@b<type> Byte_Mask     @b<is array> (0..7)  @b<of> Boolean;
+@b<type> State_Mask    @b<is array> (State) @b<of> Boolean;
+@b<type> Mode_Mask     @b<is array> (Mode)  @b<of> Boolean;>
+@dby
+@xcode<@b<type> Byte_Mask     @b<is array> (0..7)  @b<of> Boolean @b<with> Component_Size =@> 1;
+@b<type> State_Mask    @b<is array> (State) @b<of> Boolean @b<with> Component_Size =@> 1;
+@b<type> Mode_Mask     @b<is array> (Mode)  @b<of> Boolean @b<with> Component_Size =@> 1;>
+
+!corrigendum 13.11(41/3)
+
+@drepl
+@xcode<Our_Pool : Mark_Release_Pool_Type (Pool_Size =@> 2000);
+My_Mark : MR_Pool.Subpool_Handle; -- @ft<@i<See 13.11.6>>>
+@dby
+@xcode<Our_Pool : Mark_Release_Pool_Type (Pool_Size =@> 2000);
+My_Mark : Subpool_Handle; -- @ft<@i<As declared in 13.11.6>>>
+
+!corrigendum A.18.32(9/3)
+
+@drepl
+@xcode<@b<package body> Shortest_Paths @b<is>
+   @b<function> Shortest_Path
+     (G : Graphs.Vector; Source : Node; Target : Node) @b<return> Paths.List
+   @b<is>
+      @b<use> Adjacency_Lists, Node_Maps, Paths, Graphs;
+      Reached  : @b<array> (Node) @b<of> Boolean := (@b<others> =@> False);
+      -- @ft<@i<The set of nodes whose shortest distance to the source is known.>>>
+@dby
+@xcode<@b<package body> Shortest_Paths @b<is>
+   @b<function> Shortest_Path
+     (G : Graphs.Vector; Source : Node; Target : Node) @b<return> Paths.List
+   @b<is>
+      @b<use> Node_Maps, Paths, Graphs;
+      Reached  : @b<array> (Node) @b<of> Boolean := (@b<others> =@> False);
+      -- @ft<@i<The set of nodes whose shortest distance to the source is known.>>>
+
+!corrigendum B.4(124)
+
+@drepl
+@xcode<     Ada_Record.Name := To_Ada(COBOL_Record.Name);
+     Ada_Record.SSN  := To_Ada(COBOL_Record.SSN);
+     Ada_Record.Salary :=
+        To_Decimal(COBOL_Record.Salary, COBOL.High_Order_First);
+     Ada_Record.Adjust :=
+        To_Decimal(COBOL_Record.Adjust, COBOL.Leading_Separate);
+     ... --@ft<@i< Process Ada_Record>>
+   @b<end loop>;
+@b<exception>
+   @b<when> End_Error =@> ...
+@b<end> Test_External_Formats;>
+@dby
+@xcode<     Ada_Record.Name := COBOL.To_Ada(COBOL_Record.Name);
+     Ada_Record.SSN  := COBOL.To_Ada(COBOL_Record.SSN);
+     Ada_Record.Salary :=
+        To_Decimal(COBOL_Record.Salary, COBOL.High_Order_First);
+     Ada_Record.Adjust :=
+        To_Decimal(COBOL_Record.Adjust, COBOL.Leading_Separate);
+     ... --@ft<@i< Process Ada_Record>>
+   @b<end loop>;
+@b<exception>
+   @b<when> End_Error =@> ...
+@b<end> Test_External_Formats;>
+
+!corrigendum B.5(30/3)
+
+@drepl
+@xcode<   @b<type> Fortran_Matrix @b<is array> (Integer @b<range> <@>,
+                                 Integer @b<range> <@>) @b<of> Double_Precision
+      @b<with> Convention =@> Fortran;                  --@ft<@i< stored in Fortran's>>
+                                                   --@ft<@i< column-major order>>
+   @b<procedure> Invert (Rank : @b<in> Fortran_Integer; X : @b<in out> Fortran_Matrix)
+      @b<with> Import =@> True, Convention =@> Fortran; --@ft<@i< a Fortran subroutine>>>
+@dby
+@xcode<   @b<type> Fortran_Matrix @b<is array> (Fortran_Integer @b<range> <@>,
+                                 Fortran_Integer @b<range> <@>) @b<of> Double_Precision
+      @b<with> Convention =@> Fortran;                  --@ft<@i< stored in Fortran's>>
+                                                   --@ft<@i< column-major order>>
+   @b<procedure> Invert (Rank : @b<in> Fortran_Integer; X : @b<in out> Fortran_Matrix)
+      @b<with> Import =@> True, Convention =@> Fortran; --@ft<@i< a Fortran subroutine>>>
+
+!corrigendum C.3.2(28/3)
+
+@dprepl
+@xcode<Device_Priority : @b<constant>
+  @b<array> (1..5) of System.Interrupt_Priority := ( ... );>
+@dby
+@xcode<Device_Priority : @b<constant>
+  @b<array> (Ada.Interrupts.Interrupt_Id @b<range> 1..5) @b<of>
+    System.Interrupt_Priority := ( ... );>
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent