Recommit wrongly reverted change.

From-SVN: r216923
This commit is contained in:
Arnaud Charlet 2014-10-30 12:45:47 +01:00
parent 1572e2c327
commit f11ac8e701
2 changed files with 24 additions and 20 deletions

View File

@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 2004-2013, Free Software Foundation, Inc. -- -- Copyright (C) 2004-2014, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
@ -272,7 +272,8 @@ package body Ada.Containers.Multiway_Trees is
New_Item : Element_Type; New_Item : Element_Type;
Count : Count_Type := 1) Count : Count_Type := 1)
is is
First, Last : Tree_Node_Access; First : Tree_Node_Access;
Last : Tree_Node_Access;
begin begin
if Parent = No_Element then if Parent = No_Element then
@ -297,7 +298,6 @@ package body Ada.Containers.Multiway_Trees is
others => <>); others => <>);
Last := First; Last := First;
for J in Count_Type'(2) .. Count loop for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ??? -- Reclaim other nodes if Storage_Error. ???
@ -1171,7 +1171,8 @@ package body Ada.Containers.Multiway_Trees is
Position : out Cursor; Position : out Cursor;
Count : Count_Type := 1) Count : Count_Type := 1)
is is
Last : Tree_Node_Access; First : Tree_Node_Access;
Last : Tree_Node_Access;
begin begin
if Parent = No_Element then if Parent = No_Element then
@ -1202,13 +1203,11 @@ package body Ada.Containers.Multiway_Trees is
with "attempt to tamper with cursors (tree is busy)"; with "attempt to tamper with cursors (tree is busy)";
end if; end if;
Position.Container := Parent.Container; First := new Tree_Node_Type'(Parent => Parent.Node,
Position.Node := new Tree_Node_Type'(Parent => Parent.Node, Element => New_Item,
Element => New_Item, others => <>);
others => <>);
Last := Position.Node;
Last := First;
for J in Count_Type'(2) .. Count loop for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ??? -- Reclaim other nodes if Storage_Error. ???
@ -1222,7 +1221,7 @@ package body Ada.Containers.Multiway_Trees is
end loop; end loop;
Insert_Subtree_List Insert_Subtree_List
(First => Position.Node, (First => First,
Last => Last, Last => Last,
Parent => Parent.Node, Parent => Parent.Node,
Before => Before.Node); Before => Before.Node);
@ -1232,6 +1231,8 @@ package body Ada.Containers.Multiway_Trees is
-- nodes we just inserted. -- nodes we just inserted.
Container.Count := Container.Count + Count; Container.Count := Container.Count + Count;
Position := Cursor'(Parent.Container, First);
end Insert_Child; end Insert_Child;
procedure Insert_Child procedure Insert_Child
@ -1241,7 +1242,8 @@ package body Ada.Containers.Multiway_Trees is
Position : out Cursor; Position : out Cursor;
Count : Count_Type := 1) Count : Count_Type := 1)
is is
Last : Tree_Node_Access; First : Tree_Node_Access;
Last : Tree_Node_Access;
begin begin
if Parent = No_Element then if Parent = No_Element then
@ -1272,13 +1274,11 @@ package body Ada.Containers.Multiway_Trees is
with "attempt to tamper with cursors (tree is busy)"; with "attempt to tamper with cursors (tree is busy)";
end if; end if;
Position.Container := Parent.Container; First := new Tree_Node_Type'(Parent => Parent.Node,
Position.Node := new Tree_Node_Type'(Parent => Parent.Node, Element => <>,
Element => <>, others => <>);
others => <>);
Last := Position.Node;
Last := First;
for J in Count_Type'(2) .. Count loop for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ??? -- Reclaim other nodes if Storage_Error. ???
@ -1292,7 +1292,7 @@ package body Ada.Containers.Multiway_Trees is
end loop; end loop;
Insert_Subtree_List Insert_Subtree_List
(First => Position.Node, (First => First,
Last => Last, Last => Last,
Parent => Parent.Node, Parent => Parent.Node,
Before => Before.Node); Before => Before.Node);
@ -1302,6 +1302,8 @@ package body Ada.Containers.Multiway_Trees is
-- nodes we just inserted. -- nodes we just inserted.
Container.Count := Container.Count + Count; Container.Count := Container.Count + Count;
Position := Cursor'(Parent.Container, First);
end Insert_Child; end Insert_Child;
------------------------- -------------------------

View File

@ -2308,7 +2308,9 @@ package body Prj.Proc is
Name_Of Name_Of
(Project_Node_Of (Variable_Node, Node_Tree), Node_Tree); (Project_Node_Of (Variable_Node, Node_Tree), Node_Tree);
The_Project := The_Project :=
Imported_Or_Extended_Project_From (Project, Name); Imported_Or_Extended_Project_From
(Project, Name, No_Extending => True);
The_Package := No_Package;
end if; end if;
-- If a package was specified for the case variable, get its id -- If a package was specified for the case variable, get its id