[gcc r13-848] [Ada] Simplify construction of a path to file

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Mon May 30 08:31:48 GMT 2022


https://gcc.gnu.org/g:263cb16b7667ba92fbac3098375aecfb7f80105e

commit r13-848-g263cb16b7667ba92fbac3098375aecfb7f80105e
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Sat Mar 26 00:11:35 2022 +0100

    [Ada] Simplify construction of a path to file
    
    Code cleanup; semantics is unaffected.
    
    gcc/ada/
    
            * osint.adb (Locate_File): Change variable to constant and
            initialize it by concatenation of directory, file name and NUL.

Diff:
---
 gcc/ada/osint.adb | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb
index a38ad7874e3..eeedfcbc3ae 100644
--- a/gcc/ada/osint.adb
+++ b/gcc/ada/osint.adb
@@ -1886,13 +1886,13 @@ package body Osint is
       end if;
 
       declare
-         Full_Name : String (1 .. Dir_Name'Length + Name'Length + 1);
+         Full_Name :
+           constant String (1 .. Dir_Name'Length + Name'Length + 1) :=
+           Dir_Name.all & Name & ASCII.NUL;
+         --  Use explicit bounds, because Dir_Name might be a substring whose
+         --  'First is not 1.
 
       begin
-         Full_Name (1 .. Dir_Name'Length) := Dir_Name.all;
-         Full_Name (Dir_Name'Length + 1 .. Full_Name'Last - 1) := Name;
-         Full_Name (Full_Name'Last) := ASCII.NUL;
-
          Attr.all := Unknown_Attributes;
 
          if not Is_Regular_File (Full_Name'Address, Attr) then


More information about the Gcc-cvs mailing list