Recommit wrongly reverted change.
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 30 Oct 2014 11:46:20 +0000 (12:46 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 30 Oct 2014 11:46:20 +0000 (12:46 +0100)
From-SVN: r216924

gcc/ada/a-cimutr.adb
gcc/ada/freeze.adb
gcc/ada/opt.adb
gcc/ada/s-os_lib.adb

index 2405a172eb8da0e13548653fa24316c7791c9600..0d3f16455ee715cb7068ce22c31d4a338d85b6b9 100644 (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- --
@@ -1217,6 +1217,7 @@ package body Ada.Containers.Indefinite_Multiway_Trees is
       Position  : out Cursor;
       Count     : Count_Type := 1)
    is
+      First   : Tree_Node_Access;
       Last    : Tree_Node_Access;
       Element : Element_Access;
 
@@ -1249,8 +1250,6 @@ package body Ada.Containers.Indefinite_Multiway_Trees is
            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
@@ -1264,16 +1263,16 @@ package body Ada.Containers.Indefinite_Multiway_Trees is
          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,
@@ -1283,7 +1282,7 @@ package body Ada.Containers.Indefinite_Multiway_Trees is
       end loop;
 
       Insert_Subtree_List
-        (First  => Position.Node,
+        (First  => First,
          Last   => Last,
          Parent => Parent.Node,
          Before => Before.Node);
@@ -1293,6 +1292,8 @@ package body Ada.Containers.Indefinite_Multiway_Trees is
       --  nodes we just inserted.
 
       Container.Count := Container.Count + Count;
+
+      Position := Cursor'(Parent.Container, First);
    end Insert_Child;
 
    -------------------------
index 44921d0243c7c4a103b97f6f19a0a880de12e23a..63da31844a0f608417631e01133c069eefdf847a 100644 (file)
@@ -3569,11 +3569,15 @@ package body Freeze is
             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
@@ -3589,10 +3593,6 @@ package body Freeze is
             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
index 9631ff48a3ce61e6621283f7f59e7f6703d7f66a..0afab6515f34f032229fbbcb5846a26f81698b60 100644 (file)
@@ -171,6 +171,7 @@ package body Opt is
 
          Ada_Version                 := Ada_Version_Runtime;
          Ada_Version_Pragma          := Empty;
+         Default_SSO                 := ' ';
          Dynamic_Elaboration_Checks  := False;
          Extensions_Allowed          := True;
          External_Name_Exp_Casing    := As_Is;
@@ -194,7 +195,6 @@ package body Opt 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
index 3fad849b87adbade4f03b98db61e6c29d2c81c50..5f70faba0ab6ea61bd9c997c573d448a938fb768 100644 (file)
@@ -797,6 +797,8 @@ package body System.OS_Lib is
          return C_Create_File (C_Name (C_Name'First)'Address);
       end Create_New_Output_Text_File;
 
+   --  Start of processing for Create_Temp_File_Internal
+
    begin
       --  Loop until a new temp file can be created