Commit f92d99c6 by Vadim Godunko Committed by Arnaud Charlet

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.

From-SVN: r217860
parent e61fc983
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> 2014-11-20 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress * exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
......
...@@ -91,7 +91,7 @@ package body Ada.Strings.Unbounded is ...@@ -91,7 +91,7 @@ package body Ada.Strings.Unbounded is
-- Otherwise, allocate new shared string and fill data -- Otherwise, allocate new shared string and fill data
else else
DR := Allocate (LR.Last + RR.Last); DR := Allocate (DL);
DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last); DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last); DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
DR.Last := DL; DR.Last := DL;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- 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 -- -- 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- --
...@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Unbounded is ...@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Unbounded is
-- Overwise, allocate new shared string and fill data -- Overwise, allocate new shared string and fill data
else else
DR := Allocate (LR.Last + RR.Last); DR := Allocate (DL);
DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last); DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last); DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
DR.Last := DL; DR.Last := DL;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- 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 -- -- 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- --
...@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Wide_Unbounded is ...@@ -91,7 +91,7 @@ package body Ada.Strings.Wide_Wide_Unbounded is
-- Overwise, allocate new shared string and fill data -- Overwise, allocate new shared string and fill data
else else
DR := Allocate (LR.Last + RR.Last); DR := Allocate (DL);
DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last); DR.Data (1 .. LR.Last) := LR.Data (1 .. LR.Last);
DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last); DR.Data (LR.Last + 1 .. DL) := RR.Data (1 .. RR.Last);
DR.Last := DL; DR.Last := DL;
...@@ -1614,9 +1614,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is ...@@ -1614,9 +1614,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is
end if; end if;
end Tail; end Tail;
-------------------- -------------------------
-- To_Wide_Wide_String -- -- To_Wide_Wide_String --
-------------------- -------------------------
function To_Wide_Wide_String function To_Wide_Wide_String
(Source : Unbounded_Wide_Wide_String) return Wide_Wide_String is (Source : Unbounded_Wide_Wide_String) return Wide_Wide_String is
...@@ -1624,9 +1624,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is ...@@ -1624,9 +1624,9 @@ package body Ada.Strings.Wide_Wide_Unbounded is
return Source.Reference.Data (1 .. Source.Reference.Last); return Source.Reference.Data (1 .. Source.Reference.Last);
end To_Wide_Wide_String; end To_Wide_Wide_String;
------------------------------ -----------------------------------
-- To_Unbounded_Wide_Wide_String -- -- To_Unbounded_Wide_Wide_String --
------------------------------ -----------------------------------
function To_Unbounded_Wide_Wide_String function To_Unbounded_Wide_Wide_String
(Source : Wide_Wide_String) return Unbounded_Wide_Wide_String (Source : Wide_Wide_String) return Unbounded_Wide_Wide_String
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment