[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:
Arnaud Charlet 2010-09-09 15:38:12 +02:00
parent e999233aec
commit 9d983bbf20
23 changed files with 165 additions and 180 deletions

View 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>

View 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");

View 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

View 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

View 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");

View 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");

View 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

View 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),

View 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

View 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);

View 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");

View 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

View 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

View 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

View 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),

View 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;

View 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;

View 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;

View 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,

View 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

View 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;

View 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

View 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