public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-5042] [Ada] Invalid GPR_PROJECT_PATH_FILE confuses gnatls
@ 2021-11-09  9:47 Pierre-Marie de Rodat
  0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2021-11-09  9:47 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:a2e4ebe02b1be5ee81b24ff504f58ac9078953c0

commit r12-5042-ga2e4ebe02b1be5ee81b24ff504f58ac9078953c0
Author: Justin Squirek <squirek@adacore.com>
Date:   Fri Oct 29 15:42:28 2021 -0400

    [Ada] Invalid GPR_PROJECT_PATH_FILE confuses gnatls
    
    gcc/ada/
    
            * gnatls.adb (Initialize_Default_Project_Path): Remove early
            abort on invalid path.

Diff:
---
 gcc/ada/gnatls.adb | 82 ++++++++++++++++++++++++++----------------------------
 1 file changed, 39 insertions(+), 43 deletions(-)

diff --git a/gcc/ada/gnatls.adb b/gcc/ada/gnatls.adb
index 68990e19605..b20cda4fdd6 100644
--- a/gcc/ada/gnatls.adb
+++ b/gcc/ada/gnatls.adb
@@ -1339,61 +1339,57 @@ procedure Gnatls is
          if Gpr_Prj_Path_File.all /= "" then
             FD := Open_Read (Gpr_Prj_Path_File.all, GNAT.OS_Lib.Text);
 
-            if FD = Invalid_FD then
-               Osint.Fail
-                 ("warning: could not read project path file """
-                  & Gpr_Prj_Path_File.all & """");
-            end if;
+            if FD /= Invalid_FD then
+               Len := Integer (File_Length (FD));
 
-            Len := Integer (File_Length (FD));
+               declare
+                  Buffer : String (1 .. Len);
+                  Index  : Positive := 1;
+                  Last   : Positive;
+                  Tmp    : String_Access;
 
-            declare
-               Buffer : String (1 .. Len);
-               Index  : Positive := 1;
-               Last   : Positive;
-               Tmp    : String_Access;
+               begin
+                  --  Read the file
 
-            begin
-               --  Read the file
+                  Len := Read (FD, Buffer (1)'Address, Len);
+                  Close (FD);
 
-               Len := Read (FD, Buffer (1)'Address, Len);
-               Close (FD);
+                  --  Scan the file line by line
 
-               --  Scan the file line by line
+                  while Index < Buffer'Last loop
 
-               while Index < Buffer'Last loop
+                     --  Find the end of line
 
-                  --  Find the end of line
+                     Last := Index;
+                     while Last <= Buffer'Last
+                       and then Buffer (Last) /= ASCII.LF
+                       and then Buffer (Last) /= ASCII.CR
+                     loop
+                        Last := Last + 1;
+                     end loop;
 
-                  Last := Index;
-                  while Last <= Buffer'Last
-                    and then Buffer (Last) /= ASCII.LF
-                    and then Buffer (Last) /= ASCII.CR
-                  loop
-                     Last := Last + 1;
-                  end loop;
-
-                  --  Ignore empty lines
+                     --  Ignore empty lines
 
-                  if Last > Index then
-                     Tmp := Self;
-                     Self :=
-                       new String'
-                         (Tmp.all & Path_Separator &
-                          Buffer (Index .. Last - 1));
-                     Free (Tmp);
-                  end if;
+                     if Last > Index then
+                        Tmp := Self;
+                        Self :=
+                          new String'
+                            (Tmp.all & Path_Separator &
+                             Buffer (Index .. Last - 1));
+                        Free (Tmp);
+                     end if;
 
-                  --  Find the beginning of the next line
+                     --  Find the beginning of the next line
 
-                  Index := Last;
-                  while Buffer (Index) = ASCII.CR or else
-                        Buffer (Index) = ASCII.LF
-                  loop
-                     Index := Index + 1;
+                     Index := Last;
+                     while Buffer (Index) = ASCII.CR or else
+                           Buffer (Index) = ASCII.LF
+                     loop
+                        Index := Index + 1;
+                     end loop;
                   end loop;
-               end loop;
-            end;
+               end;
+            end if;
 
          end if;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-09  9:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-09  9:47 [gcc r12-5042] [Ada] Invalid GPR_PROJECT_PATH_FILE confuses gnatls Pierre-Marie de Rodat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).