+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
-- 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;
-- --
-- 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- --
-- 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;
-- --
-- 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- --
-- 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;
end if;
end Tail;
- --------------------
+ -------------------------
-- To_Wide_Wide_String --
- --------------------
+ -------------------------
function To_Wide_Wide_String
(Source : Unbounded_Wide_Wide_String) return Wide_Wide_String 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