-- --
-- 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- --
Position : out Cursor;
Count : Count_Type := 1)
is
+ First : Tree_Node_Access;
Last : Tree_Node_Access;
Element : Element_Access;
with "attempt to tamper with cursors (tree is busy)";
end if;
- Position.Container := Parent.Container;
-
declare
-- The element allocator may need an accessibility check in the case
-- the actual type is class-wide or has access discriminants (see
Element := new Element_Type'(New_Item);
end;
- Position.Node := new Tree_Node_Type'(Parent => Parent.Node,
- Element => Element,
- others => <>);
-
- Last := Position.Node;
+ First := new Tree_Node_Type'(Parent => Parent.Node,
+ Element => Element,
+ others => <>);
+ Last := First;
for J in Count_Type'(2) .. Count loop
+
-- Reclaim other nodes if Storage_Error. ???
- Element := new Element_Type'(New_Item);
+ Element := new Element_Type'(New_Item);
Last.Next := new Tree_Node_Type'(Parent => Parent.Node,
Prev => Last,
Element => Element,
end loop;
Insert_Subtree_List
- (First => Position.Node,
+ (First => First,
Last => Last,
Parent => Parent.Node,
Before => Before.Node);
-- nodes we just inserted.
Container.Count := Container.Count + Count;
+
+ Position := Cursor'(Parent.Container, First);
end Insert_Child;
-------------------------
Next_Entity (Comp);
end loop;
- SSO_ADC := Get_Attribute_Definition_Clause
- (Rec, Attribute_Scalar_Storage_Order);
+ -- Deal with default setting of reverse storage order
+
+ Set_SSO_From_Default (Rec);
-- Check consistent attribute setting on component types
+ SSO_ADC := Get_Attribute_Definition_Clause
+ (Rec, Attribute_Scalar_Storage_Order);
+
declare
Comp_ADC_Present : Boolean;
begin
end loop;
end;
- -- Deal with default setting of reverse storage order
-
- Set_SSO_From_Default (Rec);
-
-- Now deal with reverse storage order/bit order issues
if Present (SSO_ADC) then
Ada_Version := Ada_Version_Runtime;
Ada_Version_Pragma := Empty;
+ Default_SSO := ' ';
Dynamic_Elaboration_Checks := False;
Extensions_Allowed := True;
External_Name_Exp_Casing := As_Is;
Assertions_Enabled := Assertions_Enabled_Config;
Assume_No_Invalid_Values := Assume_No_Invalid_Values_Config;
Check_Policy_List := Check_Policy_List_Config;
- Default_SSO := Default_SSO_Config;
SPARK_Mode := SPARK_Mode_Config;
SPARK_Mode_Pragma := SPARK_Mode_Pragma_Config;
else