2010-09-09 Matthew Heaney <heaney@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Sep 2010 13:38:12 +0000 (13:38 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Sep 2010 13:38:12 +0000 (13:38 +0000)
* a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
Replace_Element, Reverse_Elements, Swap): Change exception message to
correctly indicate kind of tampering (cursor or element).
* a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
Swap_Links, Replace_Element, Swap): Ditto.
* a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
* a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
* a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
* a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
Generic_Replace_Element): Ditto
* a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
* a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
Replace_Element): Ditto.
* a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
Symmetric_Difference, Union, Include, Replace): Ditto

2010-09-09  Ed Schonberg  <schonberg@adacore.com>

* sprint.adb (Write_Id): If the parent node is an expanded name, check
that its entity_or_associated_node is an entity before writing it out.
* exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
constructors, there is no need for a dispatch table pointer because the
table is fully inherited from the C++ code.

2010-09-09  Thomas Quinot  <quinot@adacore.com>

* projects.texi: Fix wrong identifiers on package end lines in project
files examples.
* exp_ch6.adb: Minor reformatting.

2010-09-09  Tristan Gingold  <gingold@adacore.com>

* gnatcmd.adb, vms_conv.ads, vms_help.adb, vms_cmds.ads: Extract
Command_Type from vms_conv.ads.

2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi: Fix description of -O3 optimization level.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164092 138bc75d-0d04-0410-961f-82ee72b054a4

23 files changed:
gcc/ada/ChangeLog
gcc/ada/a-cdlili.adb
gcc/ada/a-chtgke.adb
gcc/ada/a-chtgop.adb
gcc/ada/a-cidlli.adb
gcc/ada/a-cihama.adb
gcc/ada/a-cihase.adb
gcc/ada/a-ciorma.adb
gcc/ada/a-ciormu.adb
gcc/ada/a-ciorse.adb
gcc/ada/a-cohama.adb
gcc/ada/a-cohase.adb
gcc/ada/a-coinve.adb
gcc/ada/a-convec.adb
gcc/ada/a-coorma.adb
gcc/ada/a-coormu.adb
gcc/ada/a-coorse.adb
gcc/ada/exp_ch6.adb
gcc/ada/exp_disp.adb
gcc/ada/gnat_ugn.texi
gcc/ada/gnatcmd.adb
gcc/ada/projects.texi
gcc/ada/vms_conv.ads

index 8e253bd..d1ea672 100644 (file)
@@ -34,8 +34,7 @@
 
 2010-09-09  Tristan Gingold  <gingold@adacore.com>
 
-       * gnatcmd.adb, vms_conv.ads, vms_help.adb, vms_cmds.ads: Extract
-       Command_Type from vms_conv.ads.
+       * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
 
 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
 
index 78ed93a..5ca0435 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -151,7 +151,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       while Container.Length > 1 loop
@@ -227,7 +227,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for Index in 1 .. Count loop
@@ -277,7 +277,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for I in 1 .. Count loop
@@ -315,7 +315,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for I in 1 .. Count loop
@@ -464,12 +464,12 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
          if Target.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements of Target (list is busy)";
+              "attempt to tamper with cursors of Target (list is busy)";
          end if;
 
          if Source.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements of Source (list is busy)";
+              "attempt to tamper with cursors of Source (list is busy)";
          end if;
 
          LI := First (Target);
@@ -583,7 +583,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
          if Container.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (list is busy)";
+              "attempt to tamper with cursors (list is busy)";
          end if;
 
          Sort (Front => null, Back => null);
@@ -638,7 +638,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       New_Node := new Node_Type'(New_Item, null, null);
@@ -693,7 +693,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       New_Node := new Node_Type;
@@ -844,7 +844,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       Clear (Target);
@@ -1048,7 +1048,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (list is locked)";
+           "attempt to tamper with elements (list is locked)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
@@ -1116,7 +1116,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       Container.First := J;
@@ -1243,12 +1243,12 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Target.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Target (list is busy)";
+           "attempt to tamper with cursors of Target (list is busy)";
       end if;
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       if Target.Length = 0 then
@@ -1328,7 +1328,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       if Before.Node = null then
@@ -1432,12 +1432,12 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Target.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Target (list is busy)";
+           "attempt to tamper with cursors of Target (list is busy)";
       end if;
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       if Position.Node = Source.First then
@@ -1536,7 +1536,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (list is locked)";
+           "attempt to tamper with elements (list is locked)";
       end if;
 
       pragma Assert (Vet (I), "bad I cursor in Swap");
@@ -1585,7 +1585,7 @@ package body Ada.Containers.Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       pragma Assert (Vet (I), "bad I cursor in Swap_Links");
index ecf2d6f..89649f3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -57,7 +57,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
       if Equivalent_Keys (Key, X) then
          if HT.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (container is busy)";
+              "attempt to tamper with cursors (container is busy)";
          end if;
          HT.Buckets (Indx) := Next (X);
          HT.Length := HT.Length - 1;
@@ -75,7 +75,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
          if Equivalent_Keys (Key, X) then
             if HT.Busy > 0 then
                raise Program_Error with
-                 "attempt to tamper with elements (container is busy)";
+                 "attempt to tamper with cursors (container is busy)";
             end if;
             Set_Next (Node => Prev, Next => Next (X));
             HT.Length := HT.Length - 1;
@@ -130,7 +130,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
       if B = null then
          if HT.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (container is busy)";
+              "attempt to tamper with cursors (container is busy)";
          end if;
 
          if HT.Length = Count_Type'Last then
@@ -160,7 +160,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
 
       if HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (container is busy)";
+           "attempt to tamper with cursors (container is busy)";
       end if;
 
       if HT.Length = Count_Type'Last then
@@ -212,7 +212,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
 
          if HT.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (container is locked)";
+              "attempt to tamper with elements (container is locked)";
          end if;
 
          --  We can change a node's key to Key (that's what Assign is for), but
@@ -256,7 +256,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
 
          if HT.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (container is locked)";
+              "attempt to tamper with elements (container is locked)";
          end if;
 
          Assign (Node, Key);
@@ -269,7 +269,7 @@ package body Ada.Containers.Hash_Tables.Generic_Keys is
 
       if HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (container is busy)";
+           "attempt to tamper with cursors (container is busy)";
       end if;
 
       --  Do the assignment first, before moving the node, so that if Assign
index e5cfc6f..d014dc1 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -132,7 +132,7 @@ package body Ada.Containers.Hash_Tables.Generic_Operations is
    begin
       if HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (container is busy)";
+           "attempt to tamper with cursors (container is busy)";
       end if;
 
       while HT.Length > 0 loop
@@ -478,7 +478,7 @@ package body Ada.Containers.Hash_Tables.Generic_Operations is
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (container is busy)";
+           "attempt to tamper with cursors (container is busy)";
       end if;
 
       Clear (Target);
@@ -619,7 +619,7 @@ package body Ada.Containers.Hash_Tables.Generic_Operations is
 
       if HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (container is busy)";
+           "attempt to tamper with cursors (container is busy)";
       end if;
 
       Rehash : declare
index 0d01502..8d1f8e3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -175,7 +175,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       while Container.Length > 1 loop
@@ -254,7 +254,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for Index in 1 .. Count loop
@@ -304,7 +304,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for I in 1 .. Count loop
@@ -342,7 +342,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       for I in 1 .. Count loop
@@ -510,12 +510,12 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
          if Target.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements of Target (list is busy)";
+              "attempt to tamper with cursors of Target (list is busy)";
          end if;
 
          if Source.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements of Source (list is busy)";
+              "attempt to tamper with cursors of Source (list is busy)";
          end if;
 
          LI := First (Target);
@@ -627,7 +627,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
          if Container.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (list is busy)";
+              "attempt to tamper with cursors (list is busy)";
          end if;
 
          Sort (Front => null, Back => null);
@@ -665,7 +665,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
       if Before.Container /= null then
          if Before.Container /= Container'Unrestricted_Access then
             raise Program_Error with
-              "attempt to tamper with elements (list is busy)";
+              "attempt to tamper with cursors (list is busy)";
          end if;
 
          if Before.Node = null
@@ -689,7 +689,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       declare
@@ -867,7 +867,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       Clear (Target);
@@ -1077,7 +1077,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (list is locked)";
+           "attempt to tamper with elements (list is locked)";
       end if;
 
       if Position.Node.Element = null then
@@ -1156,7 +1156,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       Container.First := J;
@@ -1293,12 +1293,12 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Target.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Target (list is busy)";
+           "attempt to tamper with cursors of Target (list is busy)";
       end if;
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       if Target.Length = 0 then
@@ -1388,7 +1388,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       if Before.Node = null then
@@ -1504,12 +1504,12 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Target.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Target (list is busy)";
+           "attempt to tamper with cursors of Target (list is busy)";
       end if;
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements of Source (list is busy)";
+           "attempt to tamper with cursors of Source (list is busy)";
       end if;
 
       if Position.Node = Source.First then
@@ -1608,7 +1608,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (list is locked)";
+           "attempt to tamper with elements (list is locked)";
       end if;
 
       pragma Assert (Vet (I), "bad I cursor in Swap");
@@ -1654,7 +1654,7 @@ package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (list is busy)";
+           "attempt to tamper with cursors (list is busy)";
       end if;
 
       pragma Assert (Vet (I), "bad I cursor in Swap_Links");
index e2e961b..b487394 100644 (file)
@@ -197,7 +197,7 @@ package body Ada.Containers.Indefinite_Hashed_Maps is
 
       if Container.HT.Busy > 0 then
          raise Program_Error with
-           "Delete attempted to tamper with elements (map is busy)";
+           "Delete attempted to tamper with cursors (map is busy)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Delete");
@@ -482,7 +482,7 @@ package body Ada.Containers.Indefinite_Hashed_Maps is
       if not Inserted then
          if Container.HT.Lock > 0 then
             raise Program_Error with
-              "Include attempted to tamper with cursors (map is locked)";
+              "Include attempted to tamper with elements (map is locked)";
          end if;
 
          K := Position.Node.Key;
@@ -836,7 +836,7 @@ package body Ada.Containers.Indefinite_Hashed_Maps is
 
       if Container.HT.Lock > 0 then
          raise Program_Error with
-           "Replace attempted to tamper with cursors (map is locked)";
+           "Replace attempted to tamper with elements (map is locked)";
       end if;
 
       K := Node.Key;
@@ -885,7 +885,7 @@ package body Ada.Containers.Indefinite_Hashed_Maps is
 
       if Position.Container.HT.Lock > 0 then
          raise Program_Error with
-           "Replace_Element attempted to tamper with cursors (map is locked)";
+           "Replace_Element attempted to tamper with elements (map is locked)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
index c901e64..0a42fb2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -242,7 +242,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Container.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       pragma Assert (Vet (Position), "Position cursor is bad");
@@ -275,7 +275,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       if Source.HT.Length < Target.HT.Length then
@@ -667,7 +667,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
       if not Inserted then
          if Container.HT.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          X := Position.Node.Element;
@@ -776,7 +776,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       Tgt_Node := HT_Ops.First (Target.HT);
@@ -1145,7 +1145,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Container.HT.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (set is locked)";
+           "attempt to tamper with elements (set is locked)";
       end if;
 
       X := Node.Element;
@@ -1220,7 +1220,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       declare
@@ -1540,7 +1540,7 @@ package body Ada.Containers.Indefinite_Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       declare
index 4093d61..9cfcd3f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -625,7 +625,7 @@ package body Ada.Containers.Indefinite_Ordered_Maps is
       if not Inserted then
          if Container.Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (map is locked)";
+              "attempt to tamper with elements (map is locked)";
          end if;
 
          K := Position.Node.Key;
@@ -1106,7 +1106,7 @@ package body Ada.Containers.Indefinite_Ordered_Maps is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (map is locked)";
+           "attempt to tamper with elements (map is locked)";
       end if;
 
       K := Node.Key;
@@ -1155,7 +1155,7 @@ package body Ada.Containers.Indefinite_Ordered_Maps is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (map is locked)";
+           "attempt to tamper with elements (map is locked)";
       end if;
 
       pragma Assert (Vet (Container.Tree, Position.Node),
index 6afe081..8c7055b 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -1564,7 +1564,7 @@ package body Ada.Containers.Indefinite_Ordered_Multisets is
       else
          if Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          declare
index 6090089..7153c6d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -930,7 +930,7 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
       if not Inserted then
          if Container.Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          X := Position.Node.Element;
@@ -1444,7 +1444,7 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (set is locked)";
+           "attempt to tamper with elements (set is locked)";
       end if;
 
       X := Node.Element;
@@ -1499,7 +1499,7 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
 
       X : Element_Access := Node.Element;
 
-      --  Start of processing for Insert
+      --  Start of processing for Replace_Element
 
    begin
       if Item < Node.Element.all
@@ -1510,7 +1510,7 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
       else
          if Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          Node.Element := new Element_Type'(Item);
@@ -1528,7 +1528,7 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
          if Hint = Node then
             if Tree.Lock > 0 then
                raise Program_Error with
-                 "attempt to tamper with cursors (set is locked)";
+                 "attempt to tamper with elements (set is locked)";
             end if;
 
             Node.Element := new Element_Type'(Item);
index fb86bef..6524724 100644 (file)
@@ -192,7 +192,7 @@ package body Ada.Containers.Hashed_Maps is
 
       if Container.HT.Busy > 0 then
          raise Program_Error with
-           "Delete attempted to tamper with elements (map is busy)";
+           "Delete attempted to tamper with cursors (map is busy)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Delete");
@@ -413,7 +413,7 @@ package body Ada.Containers.Hashed_Maps is
       if not Inserted then
          if Container.HT.Lock > 0 then
             raise Program_Error with
-              "Include attempted to tamper with cursors (map is locked)";
+              "Include attempted to tamper with elements (map is locked)";
          end if;
 
          Position.Node.Key := Key;
@@ -755,7 +755,7 @@ package body Ada.Containers.Hashed_Maps is
 
       if Container.HT.Lock > 0 then
          raise Program_Error with
-           "Replace attempted to tamper with cursors (map is locked)";
+           "Replace attempted to tamper with elements (map is locked)";
       end if;
 
       Node.Key := Key;
@@ -784,7 +784,7 @@ package body Ada.Containers.Hashed_Maps is
 
       if Position.Container.HT.Lock > 0 then
          raise Program_Error with
-           "Replace_Element attempted to tamper with cursors (map is locked)";
+           "Replace_Element attempted to tamper with elements (map is locked)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
index 760605f..643dde5 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -230,7 +230,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Container.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       pragma Assert (Vet (Position), "bad cursor in Delete");
@@ -263,7 +263,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       if Source.HT.Length < Target.HT.Length then
@@ -614,7 +614,7 @@ package body Ada.Containers.Hashed_Sets is
       if not Inserted then
          if Container.HT.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          Position.Node.Element := New_Item;
@@ -713,7 +713,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       Tgt_Node := HT_Ops.First (Target.HT);
@@ -1059,7 +1059,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Container.HT.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (set is locked)";
+           "attempt to tamper with elements (set is locked)";
       end if;
 
       Node.Element := New_Item;
@@ -1123,7 +1123,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       declare
@@ -1392,7 +1392,7 @@ package body Ada.Containers.Hashed_Sets is
 
       if Target.HT.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (set is busy)";
+           "attempt to tamper with cursors (set is busy)";
       end if;
 
       declare
index 6443644..97d3f8a 100644 (file)
@@ -619,7 +619,7 @@ package body Ada.Containers.Indefinite_Vectors is
    begin
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       while Container.Last >= Index_Type'First loop
@@ -720,7 +720,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  We first calculate what's available for deletion starting at
@@ -911,7 +911,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  Elements in an indefinite vector are allocated, so we must iterate
@@ -1182,7 +1182,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
          if Source.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (vector is busy)";
+              "attempt to tamper with cursors (vector is busy)";
          end if;
 
          I := Target.Last;  -- original value (before Set_Length)
@@ -1258,7 +1258,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
          if Container.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (vector is locked)";
+              "attempt to tamper with elements (vector is locked)";
          end if;
 
          Sort (Container.Elements.EA (Index_Type'First .. Container.Last));
@@ -1491,7 +1491,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       if New_Length <= Container.Elements.EA'Length then
@@ -2210,7 +2210,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       if New_Length <= Container.Elements.EA'Length then
@@ -2500,7 +2500,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (Source is busy)";
+           "attempt to tamper with cursors (Source is busy)";
       end if;
 
       Clear (Target);  --  Checks busy-bit
@@ -2711,7 +2711,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
@@ -2742,7 +2742,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
@@ -2812,7 +2812,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
             if Container.Busy > 0 then
                raise Program_Error with
-                 "attempt to tamper with elements (vector is busy)";
+                 "attempt to tamper with cursors (vector is busy)";
             end if;
 
             declare
@@ -2943,7 +2943,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
             if Container.Busy > 0 then
                raise Program_Error with
-                 "attempt to tamper with elements (vector is busy)";
+                 "attempt to tamper with cursors (vector is busy)";
             end if;
 
             declare
@@ -2998,7 +2998,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  We now allocate a new internal array, having a length different from
@@ -3042,7 +3042,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
@@ -3207,7 +3207,7 @@ package body Ada.Containers.Indefinite_Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
index 501128b..16b6591 100644 (file)
@@ -440,7 +440,7 @@ package body Ada.Containers.Vectors is
    begin
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       Container.Last := No_Index;
@@ -524,7 +524,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  We first calculate what's available for deletion starting at
@@ -653,7 +653,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  There is no restriction on how large Count can be when deleting
@@ -717,7 +717,7 @@ package body Ada.Containers.Vectors is
    begin
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       Container.Elements := null;
@@ -862,7 +862,7 @@ package body Ada.Containers.Vectors is
 
          if Source.Busy > 0 then
             raise Program_Error with
-              "attempt to tamper with elements (vector is busy)";
+              "attempt to tamper with cursors (vector is busy)";
          end if;
 
          Target.Set_Length (Length (Target) + Length (Source));
@@ -923,7 +923,7 @@ package body Ada.Containers.Vectors is
 
          if Container.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (vector is locked)";
+              "attempt to tamper with elements (vector is locked)";
          end if;
 
          Sort (Container.Elements.EA (Index_Type'First .. Container.Last));
@@ -1147,7 +1147,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  An internal array has already been allocated, so we must determine
@@ -1802,7 +1802,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  An internal array has already been allocated, so we must determine
@@ -2102,12 +2102,12 @@ package body Ada.Containers.Vectors is
 
       if Target.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (Target is busy)";
+           "attempt to tamper with cursors (Target is busy)";
       end if;
 
       if Source.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (Source is busy)";
+           "attempt to tamper with cursors (Source is busy)";
       end if;
 
       declare
@@ -2303,7 +2303,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       Container.Elements.EA (Index) := New_Item;
@@ -2329,7 +2329,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       Container.Elements.EA (Position.Index) := New_Item;
@@ -2392,7 +2392,7 @@ package body Ada.Containers.Vectors is
 
             if Container.Busy > 0 then
                raise Program_Error with
-                 "attempt to tamper with elements (vector is busy)";
+                 "attempt to tamper with cursors (vector is busy)";
             end if;
 
             declare
@@ -2527,7 +2527,7 @@ package body Ada.Containers.Vectors is
 
             if Container.Busy > 0 then
                raise Program_Error with
-                 "attempt to tamper with elements (vector is busy)";
+                 "attempt to tamper with cursors (vector is busy)";
             end if;
 
             declare
@@ -2586,7 +2586,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Busy > 0 then
          raise Program_Error with
-           "attempt to tamper with elements (vector is busy)";
+           "attempt to tamper with cursors (vector is busy)";
       end if;
 
       --  We now allocate a new internal array, having a length different from
@@ -2649,7 +2649,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
@@ -2801,7 +2801,7 @@ package body Ada.Containers.Vectors is
 
       if Container.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (vector is locked)";
+           "attempt to tamper with elements (vector is locked)";
       end if;
 
       declare
index 934d9de..ba86520 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -537,7 +537,7 @@ package body Ada.Containers.Ordered_Maps is
       if not Inserted then
          if Container.Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (map is locked)";
+              "attempt to tamper with elements (map is locked)";
          end if;
 
          Position.Node.Key := Key;
@@ -1018,7 +1018,7 @@ package body Ada.Containers.Ordered_Maps is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (map is locked)";
+           "attempt to tamper with elements (map is locked)";
       end if;
 
       Node.Key := Key;
@@ -1047,7 +1047,7 @@ package body Ada.Containers.Ordered_Maps is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (map is locked)";
+           "attempt to tamper with elements (map is locked)";
       end if;
 
       pragma Assert (Vet (Container.Tree, Position.Node),
index 011ffbf..b59f6f5 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -1481,7 +1481,7 @@ package body Ada.Containers.Ordered_Multisets is
       else
          if Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          Node.Element := Item;
index 2c02f2f..d4e7302 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -855,7 +855,7 @@ package body Ada.Containers.Ordered_Sets is
       if not Inserted then
          if Container.Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          Position.Node.Element := New_Item;
@@ -1355,7 +1355,7 @@ package body Ada.Containers.Ordered_Sets is
 
       if Container.Tree.Lock > 0 then
          raise Program_Error with
-           "attempt to tamper with cursors (set is locked)";
+           "attempt to tamper with elements (set is locked)";
       end if;
 
       Node.Element := New_Item;
@@ -1405,7 +1405,7 @@ package body Ada.Containers.Ordered_Sets is
       Result    : Node_Access;
       Inserted  : Boolean;
 
-      --  Start of processing for Insert
+      --  Start of processing for Replace_Element
 
    begin
       if Item < Node.Element
@@ -1416,7 +1416,7 @@ package body Ada.Containers.Ordered_Sets is
       else
          if Tree.Lock > 0 then
             raise Program_Error with
-              "attempt to tamper with cursors (set is locked)";
+              "attempt to tamper with elements (set is locked)";
          end if;
 
          Node.Element := Item;
@@ -1432,7 +1432,7 @@ package body Ada.Containers.Ordered_Sets is
          if Hint = Node then
             if Tree.Lock > 0 then
                raise Program_Error with
-                 "attempt to tamper with cursors (set is locked)";
+                 "attempt to tamper with elements (set is locked)";
             end if;
 
             Node.Element := Item;
index 11a2161..26ce784 100644 (file)
@@ -1795,9 +1795,8 @@ package body Exp_Ch6 is
 
          Append_To (Extra_Actuals,
            Make_Parameter_Association (Loc,
-             Explicit_Actual_Parameter => Expr,
-             Selector_Name =>
-               Make_Identifier (Loc, Chars (EF))));
+             Selector_Name             => Make_Identifier (Loc, Chars (EF)),
+             Explicit_Actual_Parameter => Expr));
 
          Analyze_And_Resolve (Expr, Etype (EF));
 
@@ -2174,8 +2173,8 @@ package body Exp_Ch6 is
                Prev_Orig := Prev;
             end if;
 
-            --  Ada 2005 (AI-251): Thunks must propagate the extra actuals
-            --  of accessibility levels.
+            --  Ada 2005 (AI-251): Thunks must propagate the extra actuals of
+            --  accessibility levels.
 
             if Ekind (Current_Scope) in Subprogram_Kind
               and then Is_Thunk (Current_Scope)
@@ -2299,7 +2298,7 @@ package body Exp_Ch6 is
                               Extra_Accessibility (Formal));
 
                         --  No other cases of attributes returning access
-                        --  values that can be passed to access parameters
+                        --  values that can be passed to access parameters.
 
                         when others =>
                            raise Program_Error;
index 336715a..fd8f439 100644 (file)
@@ -6313,10 +6313,14 @@ package body Exp_Disp is
       --  For CPP types there is no need to build the dispatch tables since
       --  they are imported from the C++ side. If the CPP type has an IP
       --  then we declare now the variable that will store the copy of the
-      --  C++ tag.
+      --  C++ tag. If the CPP type is an interface, we need the variable as
+      --  well, because it becomes the pointer to the corresponding secondary
+      --  table.
 
       if Is_CPP_Class (Typ) then
-         if Has_CPP_Constructors (Typ) then
+         if Has_CPP_Constructors (Typ)
+           or else Is_Interface (Typ)
+         then
             Append_To (Result,
               Make_Object_Declaration (Loc,
                 Defining_Identifier => DT_Ptr,
index e7fbbf6..5221482 100644 (file)
@@ -7,7 +7,7 @@
 @c                                                                            o
 @c                             G N A T _ U G N                                o
 @c                                                                            o
-@c   GNAT is maintained by Ada Core Technologies Inc (http://www.gnat.com).   o
+@c                     Copyright (C) 1992-2010, AdaCore                       o
 @c                                                                            o
 @c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 
@@ -3979,7 +3979,7 @@ effect if this switch is present.
 
 @item -fno-inline-functions
 @cindex @option{-fno-inline-functions} (@command{gcc})
-Suppresses automatic inlining of simple subprograms, which is enabled
+Suppresses automatic inlining of subprograms, which is enabled
 if @option{-O3} is used.
 
 @item -fno-inline-small-functions
@@ -10108,12 +10108,11 @@ generates highly optimized code and has
 the slowest compilation time.
 
 @item ^-O3^/OPTIMIZE=INLINING^
-Full optimization as in @option{-O2},
-and also attempts automatic inlining of small
-subprograms within a unit (@pxref{Inlining of Subprograms}).
+Full optimization as in @option{-O2};
+also uses more aggressive automatic inlining of subprograms within a unit (@pxref{Inlining of Subprograms}) and attemps to vectorize loops.
 
 @item ^-Os^/OPTIMIZE=SPACE^
-Optimize space usage of resulting program.
+Optimize space usage (code and data) of resulting program.
 @end table
 
 @noindent
@@ -10142,7 +10141,7 @@ levels.
 
 Note regarding the use of @option{-O3}: The use of this optimization level
 is generally discouraged with GNAT, since it often results in larger
-executables which run more slowly. See further discussion of this point
+executables which may run more slowly. See further discussion of this point
 in @ref{Inlining of Subprograms}.
 
 @node Debugging Optimized Code
@@ -10292,9 +10291,10 @@ subprograms.
 @item
 @cindex pragma Inline
 @findex Inline
-Either @code{pragma Inline} applies to the subprogram, or it is local
-to the unit and called once from within it, or it is small and automatic
-inlining (optimization level @option{-O3}) is specified.
+Either @code{pragma Inline} applies to the subprogram, or it is local to
+the unit and called once from within it, or it is small and optimization
+level @option{-O2} is specified, or automatic inlining (optimization level
+@option{-O3}) is specified.
 @end itemize
 
 @noindent
@@ -10378,7 +10378,11 @@ this switch is used to suppress the resulting inlining actions.
 
 @cindex @option{-fno-inline-functions} (@command{gcc})
 Note: The @option{-fno-inline-functions} switch can be used to prevent
-automatic inlining of small subprograms if @option{-O3} is used.
+automatic inlining of subprograms if @option{-O3} is used.
+
+@cindex @option{-fno-inline-small-functions} (@command{gcc})
+Note: The @option{-fno-inline-small-functions} switch can be used to prevent
+automatic inlining of small subprograms if @option{-O2} is used.
 
 @cindex @option{-fno-inline-functions-called-once} (@command{gcc})
 Note: The @option{-fno-inline-functions-called-once} switch
index 24ee7a1..87c8ced 100644 (file)
@@ -56,6 +56,7 @@ with Ada.Text_IO;             use Ada.Text_IO;
 with GNAT.OS_Lib;             use GNAT.OS_Lib;
 
 with VMS_Conv;                use VMS_Conv;
+with VMS_Cmds;                use VMS_Cmds;
 
 procedure GNATCmd is
    Project_Node_Tree : Project_Node_Tree_Ref;
index 20fb19c..701de97 100644 (file)
@@ -575,13 +575,13 @@ packages would be involved in the build process.
    @b{end} Builder;
 
    @b{package} Compiler @b{is} --<<<  for the compiler
-   @b{end} Builder;
+   @b{end} Compiler;
 
    @b{package} Binder @b{is}   --<<<  for the binder
-   @b{end} Builder;
+   @b{end} Binder;
 
    @b{package} Linker @b{is}   --<<<  for the linker
-   @b{end} Builder;
+   @b{end} Linker;
 @end smallexample
 
 @noindent
index 965bb37..7e2127f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2003-2008, Free Software Foundation, Inc.         --
+--          Copyright (C) 2003-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -30,6 +30,7 @@
 
 with Table;
 with VMS_Data; use VMS_Data;
+with VMS_Cmds; use VMS_Cmds;
 
 with GNAT.OS_Lib; use GNAT.OS_Lib;
 
@@ -92,29 +93,6 @@ package VMS_Conv is
    type Parameter_Array is array (Natural range <>) of Parameter_Type;
    type Parameter_Ref is access all Parameter_Array;
 
-   type Command_Type is
-     (Bind,
-      Chop,
-      Clean,
-      Compile,
-      Check,
-      Sync,
-      Elim,
-      Find,
-      Krunch,
-      Link,
-      List,
-      Make,
-      Metric,
-      Name,
-      Preprocess,
-      Pretty,
-      Shared,
-      Stack,
-      Stub,
-      Xref,
-      Undefined);
-
    type Alternate_Command is (Comp, Ls, Kr, Pp, Prep);
    --  Alternate command label for non VMS system use