2014-11-20 Vadim Godunko <godunko@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Nov 2014 14:32:50 +0000 (14:32 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Nov 2014 14:32:50 +0000 (14:32 +0000)
* a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
("&") Use already computed value of data length to call allocation
subprogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217860 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/a-strunb-shared.adb
gcc/ada/a-stwiun-shared.adb
gcc/ada/a-stzunb-shared.adb

index d25786b..d5473a1 100644 (file)
@@ -1,3 +1,9 @@
+2014-11-20  Vadim Godunko  <godunko@adacore.com>
+
+       * a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
+       ("&") Use already computed value of data length to call allocation
+       subprogram.
+
 2014-11-20  Ed Schonberg  <schonberg@adacore.com>
 
        * exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
index caeb3a0..9c92466 100644 (file)
@@ -91,7 +91,7 @@ package body Ada.Strings.Unbounded is
       --  Otherwise, allocate new shared string and fill data
 
       else
-         DR := Allocate (LR.Last + RR.Last);
+         DR := Allocate (DL);
          DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
          DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
          DR.Last := DL;
index 6c3be54..284ffd3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-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- --
@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Unbounded is
       --  Overwise, allocate new shared string and fill data
 
       else
-         DR := Allocate (LR.Last + RR.Last);
+         DR := Allocate (DL);
          DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
          DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
          DR.Last := DL;
index 37ab295..b71f71d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-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- --
@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Wide_Unbounded is
       --  Overwise, allocate new shared string and fill data
 
       else
-         DR := Allocate (LR.Last + RR.Last);
+         DR := Allocate (DL);
          DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
          DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
          DR.Last := DL;
@@ -1614,9 +1614,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is
       end if;
    end Tail;
 
-   --------------------
+   -------------------------
    -- To_Wide_Wide_String --
-   --------------------
+   -------------------------
 
    function To_Wide_Wide_String
      (Source : Unbounded_Wide_Wide_String) return Wide_Wide_String is
@@ -1624,9 +1624,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is
       return Source.Reference.Data (1 .. Source.Reference.Last);
    end To_Wide_Wide_String;
 
-   ------------------------------
+   -----------------------------------
    -- To_Unbounded_Wide_Wide_String --
-   ------------------------------
+   -----------------------------------
 
    function To_Unbounded_Wide_Wide_String
      (Source : Wide_Wide_String) return Unbounded_Wide_Wide_String