aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-09-07 08:44:26 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-10-23 04:25:00 -0400
commit84a5809c7214d103dd2e7f5c352fd99cb8320bb3 (patch)
tree8240a0c2a5c350c7904c72131b52e0536a1b31c8 /gcc/ada
parent6c1929894ca27ab2469c2c7bf25ad2625f567351 (diff)
downloadgcc-84a5809c7214d103dd2e7f5c352fd99cb8320bb3.zip
gcc-84a5809c7214d103dd2e7f5c352fd99cb8320bb3.tar.gz
gcc-84a5809c7214d103dd2e7f5c352fd99cb8320bb3.tar.bz2
[Ada] Clean up in writing of ALI files
gcc/ada/ * lib-writ.ads, lib-writ.adb (Write_ALI): No longer read existing ALI files in -gnatc mode.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/lib-writ.adb100
-rw-r--r--gcc/ada/lib-writ.ads6
2 files changed, 3 insertions, 103 deletions
diff --git a/gcc/ada/lib-writ.adb b/gcc/ada/lib-writ.adb
index 6fbcdce..6a63b8f 100644
--- a/gcc/ada/lib-writ.adb
+++ b/gcc/ada/lib-writ.adb
@@ -268,17 +268,6 @@ package body Lib.Writ is
-- Collect with lines for entries in the context clause of the given
-- compilation unit, Cunit.
- procedure Update_Tables_From_ALI_File;
- -- Given an up to date ALI file (see Up_To_Date_ALI_file_Exists
- -- function), update tables from the ALI information, including
- -- specifically the Compilation_Switches table.
-
- function Up_To_Date_ALI_File_Exists return Boolean;
- -- If there exists an ALI file that is up to date, then this function
- -- initializes the tables in the ALI spec to contain information on
- -- this file (using Scan_ALI) and returns True. If no file exists,
- -- or the file is not up to date, then False is returned.
-
procedure Write_Unit_Information (Unit_Num : Unit_Number_Type);
-- Write out the library information for one unit for which code is
-- generated (includes unit line and with lines).
@@ -397,76 +386,6 @@ package body Lib.Writ is
end loop;
end Collect_Withs;
- --------------------------------
- -- Up_To_Date_ALI_File_Exists --
- --------------------------------
-
- function Up_To_Date_ALI_File_Exists return Boolean is
- Name : File_Name_Type;
- Text : Text_Buffer_Ptr;
- Id : Sdep_Id;
- Sind : Source_File_Index;
-
- begin
- Opt.Check_Object_Consistency := True;
- Read_Library_Info (Name, Text);
-
- -- Return if we could not find an ALI file
-
- if Text = null then
- return False;
- end if;
-
- -- Return if ALI file has bad format
-
- Initialize_ALI;
-
- if Scan_ALI (Name, Text, False, Err => True) = No_ALI_Id then
- return False;
- end if;
-
- -- If we have an OK ALI file, check if it is up to date
- -- Note that we assume that the ALI read has all the entries
- -- we have in our table, plus some additional ones (that can
- -- come from expansion).
-
- Id := First_Sdep_Entry;
- for J in 1 .. Num_Sdep loop
- Sind := Source_Index (Sdep_Table (J));
-
- while Sdep.Table (Id).Sfile /= File_Name (Sind) loop
- if Id = Sdep.Last then
- return False;
- else
- Id := Id + 1;
- end if;
- end loop;
-
- if Sdep.Table (Id).Stamp /= Time_Stamp (Sind) then
- return False;
- end if;
- end loop;
-
- return True;
- end Up_To_Date_ALI_File_Exists;
-
- ---------------------------------
- -- Update_Tables_From_ALI_File --
- ---------------------------------
-
- procedure Update_Tables_From_ALI_File is
- begin
- -- Build Compilation_Switches table
-
- Compilation_Switches.Init;
-
- for J in First_Arg_Entry .. Args.Last loop
- Compilation_Switches.Increment_Last;
- Compilation_Switches.Table (Compilation_Switches.Last) :=
- Args.Table (J);
- end loop;
- end Update_Tables_From_ALI_File;
-
----------------------------
-- Write_Unit_Information --
----------------------------
@@ -1095,8 +1014,7 @@ package body Lib.Writ is
return;
end if;
- -- Build sorted source dependency table. We do this right away, because
- -- it is referenced by Up_To_Date_ALI_File_Exists.
+ -- Build sorted source dependency table.
for Unum in Units.First .. Last_Unit loop
if Cunit_Entity (Unum) = Empty
@@ -1130,20 +1048,8 @@ package body Lib.Writ is
Lib.Sort (Sdep_Table (1 .. Num_Sdep));
- -- If we are not generating code, and there is an up to date ALI file
- -- file accessible, read it, and acquire the compilation arguments from
- -- this file. In GNATprove mode, always generate the ALI file, which
- -- contains a special section for formal verification.
-
- if Operating_Mode /= Generate_Code and then not GNATprove_Mode then
- if Up_To_Date_ALI_File_Exists then
- Update_Tables_From_ALI_File;
- return;
- end if;
- end if;
-
- -- Otherwise acquire compilation arguments and prepare to write out a
- -- new ali file.
+ -- Acquire compilation arguments and prepare to write out a new ali
+ -- file.
Create_Output_Library_Info;
diff --git a/gcc/ada/lib-writ.ads b/gcc/ada/lib-writ.ads
index e7f2e3f..7ec57b4 100644
--- a/gcc/ada/lib-writ.ads
+++ b/gcc/ada/lib-writ.ads
@@ -1053,12 +1053,6 @@ package Lib.Writ is
-- The Object parameter is true if an object file is created, and false
-- otherwise. Note that the pseudo-object file generated in GNATprove mode
-- does count as an object file from this point of view.
- --
- -- Note: in the case where we are not generating code (-gnatc mode), this
- -- routine only writes an ALI file if it cannot find an existing up to
- -- date ALI file. If it *can* find an existing up to date ALI file, then
- -- it reads this file and sets the Lib.Compilation_Arguments table from
- -- the A lines in this file.
procedure Add_Preprocessing_Dependency (S : Source_File_Index);
-- Indicate that there is a dependency to be added on a preprocessing data