[multiple changes]
2010-09-09 Matthew Heaney <heaney@adacore.com> * 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. From-SVN: r164092
This commit is contained in:
parent
e999233aec
commit
9d983bbf20
|
@ -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>
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue