From 1241e3318edefec8fd89119ee5497d0374b5ac90 Mon Sep 17 00:00:00 2001 From: charlet Date: Thu, 20 Nov 2014 14:32:50 +0000 Subject: [PATCH] 2014-11-20 Vadim Godunko * 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 | 6 ++++++ gcc/ada/a-strunb-shared.adb | 2 +- gcc/ada/a-stwiun-shared.adb | 4 ++-- gcc/ada/a-stzunb-shared.adb | 12 ++++++------ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d25786b..d5473a1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2014-11-20 Vadim Godunko + + * 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 * exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress diff --git a/gcc/ada/a-strunb-shared.adb b/gcc/ada/a-strunb-shared.adb index caeb3a0..9c92466 100644 --- a/gcc/ada/a-strunb-shared.adb +++ b/gcc/ada/a-strunb-shared.adb @@ -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; diff --git a/gcc/ada/a-stwiun-shared.adb b/gcc/ada/a-stwiun-shared.adb index 6c3be54..284ffd3 100644 --- a/gcc/ada/a-stwiun-shared.adb +++ b/gcc/ada/a-stwiun-shared.adb @@ -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; diff --git a/gcc/ada/a-stzunb-shared.adb b/gcc/ada/a-stzunb-shared.adb index 37ab295..b71f71d 100644 --- a/gcc/ada/a-stzunb-shared.adb +++ b/gcc/ada/a-stzunb-shared.adb @@ -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 -- 2.7.4