diff options
author | Arnaud Charlet <charlet@adacore.com> | 2021-11-29 10:04:36 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-01-05 11:32:33 +0000 |
commit | 1fc93860a54772c3302ba755eed504d3b00c88ef (patch) | |
tree | 2077aa1486a3713a9efba5df5fccabfae743a450 /gcc | |
parent | 1021b72bf6542f3c08e5404b65063216ee1b06f7 (diff) | |
download | gcc-1fc93860a54772c3302ba755eed504d3b00c88ef.zip gcc-1fc93860a54772c3302ba755eed504d3b00c88ef.tar.gz gcc-1fc93860a54772c3302ba755eed504d3b00c88ef.tar.bz2 |
[Ada] Reduce runtime dependencies on stage1
gcc/ada/
* osint.adb (File_Names_Equal): Declare To_Lower locally.
* osint.ads (Null_FD): New.
* fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
* switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
simplify the bootstrap dependencies.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/fmap.adb | 2 | ||||
-rw-r--r-- | gcc/ada/osint.adb | 15 | ||||
-rw-r--r-- | gcc/ada/osint.ads | 4 | ||||
-rw-r--r-- | gcc/ada/sinput-l.adb | 2 | ||||
-rw-r--r-- | gcc/ada/switch-b.adb | 2 | ||||
-rw-r--r-- | gcc/ada/targparm.adb | 2 |
6 files changed, 23 insertions, 4 deletions
diff --git a/gcc/ada/fmap.adb b/gcc/ada/fmap.adb index 7a8e082..7597eba 100644 --- a/gcc/ada/fmap.adb +++ b/gcc/ada/fmap.adb @@ -301,7 +301,7 @@ package body Fmap is Read_Source_File (Name_Enter (File_Name), 1, Hi, Src, FD, Config); if Null_Source_Buffer_Ptr (Src) then - if FD = Null_FD then + if FD = Osint.Null_FD then Write_Str ("warning: could not locate mapping file """); else Write_Str ("warning: no read access for mapping file """); diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb index cf39128..a8a6801 100644 --- a/gcc/ada/osint.adb +++ b/gcc/ada/osint.adb @@ -1059,6 +1059,21 @@ package body Osint is ---------------------- function File_Names_Equal (File1, File2 : String) return Boolean is + + function To_Lower (A : String) return String; + -- For bootstrap reasons, we cannot use To_Lower from System.Case_Util + + -------------- + -- To_Lower -- + -------------- + + function To_Lower (A : String) return String is + Result : String := A; + begin + To_Lower (Result); + return Result; + end To_Lower; + begin if File_Names_Case_Sensitive then return File1 = File2; diff --git a/gcc/ada/osint.ads b/gcc/ada/osint.ads index f1a9f84..f733e65 100644 --- a/gcc/ada/osint.ads +++ b/gcc/ada/osint.ads @@ -52,6 +52,10 @@ package Osint is Project_Include_Path_File : constant String := "ADA_PRJ_INCLUDE_FILE"; Project_Objects_Path_File : constant String := "ADA_PRJ_OBJECTS_FILE"; + Null_FD : constant File_Descriptor := -2; + -- Uninitialized file descriptor. Copied from System.OS_Lib for bootstrap + -- reasons. + Output_FD : File_Descriptor; -- File descriptor for current library info, list, tree, C, H, or binder -- output. Only one of these is open at a time, so we need only one FD. diff --git a/gcc/ada/sinput-l.adb b/gcc/ada/sinput-l.adb index 2d5efb0..6a939bc 100644 --- a/gcc/ada/sinput-l.adb +++ b/gcc/ada/sinput-l.adb @@ -420,7 +420,7 @@ package body Sinput.L is if Null_Source_Buffer_Ptr (Src) then Source_File.Decrement_Last; - if FD = Null_FD then + if FD = Osint.Null_FD then return No_Source_File; else return No_Access_To_Source_File; diff --git a/gcc/ada/switch-b.adb b/gcc/ada/switch-b.adb index a735978..bea6ab3 100644 --- a/gcc/ada/switch-b.adb +++ b/gcc/ada/switch-b.adb @@ -312,7 +312,7 @@ package body Switch.B is Ptr := Max + 1; - if not Is_Read_Accessible_File (Force_Elab_Order_File.all) then + if not Is_Regular_File (Force_Elab_Order_File.all) then Osint.Fail (Force_Elab_Order_File.all & ": file not found"); end if; diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb index 4390c0e..ade05c2 100644 --- a/gcc/ada/targparm.adb +++ b/gcc/ada/targparm.adb @@ -165,7 +165,7 @@ package body Targparm is if Null_Source_Buffer_Ptr (Text) then Write_Line ("fatal error, run-time library not installed correctly"); - if FD = Null_FD then + if FD = Osint.Null_FD then Write_Line ("cannot locate file system.ads"); else Write_Line ("no read access for file system.ads"); |