diff options
author | Arnaud Charlet <charlet@adacore.com> | 2020-09-07 08:44:26 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-10-23 04:25:00 -0400 |
commit | 84a5809c7214d103dd2e7f5c352fd99cb8320bb3 (patch) | |
tree | 8240a0c2a5c350c7904c72131b52e0536a1b31c8 /gcc/ada | |
parent | 6c1929894ca27ab2469c2c7bf25ad2625f567351 (diff) | |
download | gcc-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.adb | 100 | ||||
-rw-r--r-- | gcc/ada/lib-writ.ads | 6 |
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 |