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 --
-- --
-- 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 --
-- 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;
Count : Count_Type := 1)
is
First, Last : Tree_Node_Access;
First : Tree_Node_Access;
Last : Tree_Node_Access;
begin
if Parent = No_Element then
@ -297,7 +298,6 @@ package body Ada.Containers.Multiway_Trees is
others => <>);
Last := First;
for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ???
@ -1171,7 +1171,8 @@ package body Ada.Containers.Multiway_Trees is
Position : out Cursor;
Count : Count_Type := 1)
is
Last : Tree_Node_Access;
First : Tree_Node_Access;
Last : Tree_Node_Access;
begin
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)";
end if;
Position.Container := Parent.Container;
Position.Node := new Tree_Node_Type'(Parent => Parent.Node,
Element => New_Item,
others => <>);
Last := Position.Node;
First := new Tree_Node_Type'(Parent => Parent.Node,
Element => New_Item,
others => <>);
Last := First;
for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ???
@ -1222,7 +1221,7 @@ package body Ada.Containers.Multiway_Trees is
end loop;
Insert_Subtree_List
(First => Position.Node,
(First => First,
Last => Last,
Parent => Parent.Node,
Before => Before.Node);
@ -1232,6 +1231,8 @@ package body Ada.Containers.Multiway_Trees is
-- nodes we just inserted.
Container.Count := Container.Count + Count;
Position := Cursor'(Parent.Container, First);
end Insert_Child;
procedure Insert_Child
@ -1241,7 +1242,8 @@ package body Ada.Containers.Multiway_Trees is
Position : out Cursor;
Count : Count_Type := 1)
is
Last : Tree_Node_Access;
First : Tree_Node_Access;
Last : Tree_Node_Access;
begin
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)";
end if;
Position.Container := Parent.Container;
Position.Node := new Tree_Node_Type'(Parent => Parent.Node,
Element => <>,
others => <>);
Last := Position.Node;
First := new Tree_Node_Type'(Parent => Parent.Node,
Element => <>,
others => <>);
Last := First;
for J in Count_Type'(2) .. Count loop
-- Reclaim other nodes if Storage_Error. ???
@ -1292,7 +1292,7 @@ package body Ada.Containers.Multiway_Trees is
end loop;
Insert_Subtree_List
(First => Position.Node,
(First => First,
Last => Last,
Parent => Parent.Node,
Before => Before.Node);
@ -1302,6 +1302,8 @@ package body Ada.Containers.Multiway_Trees is
-- nodes we just inserted.
Container.Count := Container.Count + Count;
Position := Cursor'(Parent.Container, First);
end Insert_Child;
-------------------------

View File

@ -2308,7 +2308,9 @@ package body Prj.Proc is
Name_Of
(Project_Node_Of (Variable_Node, Node_Tree), Node_Tree);
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;
-- If a package was specified for the case variable, get its id