From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1914) id B3319396DC3D; Wed, 7 Jul 2021 16:26:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B3319396DC3D MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Pierre-Marie de Rodat To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-2119] [Ada] Use bounded string buffer in Get_Unit_Name X-Act-Checkin: gcc X-Git-Author: Piotr Trojanek X-Git-Refname: refs/heads/master X-Git-Oldrev: d1d2bbcc858ac473213af0bc2bd0c22a584ec80f X-Git-Newrev: 768f69696a054a0709b114d3ad3d73265daf115d Message-Id: <20210707162600.B3319396DC3D@sourceware.org> Date: Wed, 7 Jul 2021 16:26:00 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2021 16:26:00 -0000 https://gcc.gnu.org/g:768f69696a054a0709b114d3ad3d73265daf115d commit r12-2119-g768f69696a054a0709b114d3ad3d73265daf115d Author: Piotr Trojanek Date: Tue May 11 12:16:14 2021 +0200 [Ada] Use bounded string buffer in Get_Unit_Name gcc/ada/ * uname.adb (Get_Unit_Name): Simplify with a bounded string buffer; also, this addresses a ??? comment about the max length being exceeded. Diff: --- gcc/ada/uname.adb | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/gcc/ada/uname.adb b/gcc/ada/uname.adb index 23911802a6f..18cb6d1a329 100644 --- a/gcc/ada/uname.adb +++ b/gcc/ada/uname.adb @@ -177,13 +177,8 @@ package body Uname is function Get_Unit_Name (N : Node_Id) return Unit_Name_Type is - Unit_Name_Buffer : String (1 .. Hostparm.Max_Name_Length); - -- Buffer used to build name of unit. Note that we cannot use the - -- Name_Buffer in package Name_Table because we use it to read - -- component names. - - Unit_Name_Length : Natural := 0; - -- Length of name stored in Unit_Name_Buffer + Unit_Name_Buffer : Bounded_String; + -- Buffer used to build name of unit Node : Node_Id; -- Program unit node @@ -206,9 +201,7 @@ package body Uname is procedure Add_Char (C : Character) is begin - -- Should really check for max length exceeded here??? - Unit_Name_Length := Unit_Name_Length + 1; - Unit_Name_Buffer (Unit_Name_Length) := C; + Append (Unit_Name_Buffer, C); end Add_Char; -------------- @@ -217,11 +210,7 @@ package body Uname is procedure Add_Name (Name : Name_Id) is begin - Get_Name_String (Name); - - for J in 1 .. Name_Len loop - Add_Char (Name_Buffer (J)); - end loop; + Append (Unit_Name_Buffer, Name); end Add_Name; ------------------- @@ -414,11 +403,7 @@ package body Uname is raise Program_Error; end case; - Name_Buffer (1 .. Unit_Name_Length) := - Unit_Name_Buffer (1 .. Unit_Name_Length); - Name_Len := Unit_Name_Length; - return Name_Find; - + return Name_Find (Unit_Name_Buffer); end Get_Unit_Name; --------------------------