aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/frontend.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 16:53:10 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 16:53:10 +0200
commit5ae243127908fa14634e086d2e55b8a996f95a2c (patch)
tree796fc6ce2f5ce29e6152b38ef2f353d67a74b52b /gcc/ada/frontend.adb
parent3c04da40217fd70dea865002a045625bc7a62fd6 (diff)
downloadgcc-5ae243127908fa14634e086d2e55b8a996f95a2c.zip
gcc-5ae243127908fa14634e086d2e55b8a996f95a2c.tar.gz
gcc-5ae243127908fa14634e086d2e55b8a996f95a2c.tar.bz2
[multiple changes]
2014-07-29 Vincent Celier <celier@adacore.com> * frontend.adb: Add dependency on gnat.adc when taken into account and on non-temporary configuration pragmas files specified in switches -gnatec. * prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add dependencies on configuration pragmas files. 2014-07-29 Pat Rogers <rogers@adacore.com> * gnat_ugn.texi: Minor clarification to the explanation for the GNATtest -v switch. From-SVN: r213204
Diffstat (limited to 'gcc/ada/frontend.adb')
-rw-r--r--gcc/ada/frontend.adb13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb
index 24b33cf..8d59e6c 100644
--- a/gcc/ada/frontend.adb
+++ b/gcc/ada/frontend.adb
@@ -144,6 +144,8 @@ begin
Prag : Node_Id;
+ Temp_File : Boolean;
+
begin
-- We always analyze config files with style checks off, since
-- we don't want a miscellaneous gnat.adc that is around to
@@ -167,6 +169,7 @@ begin
if Source_gnat_adc /= No_Source_File then
Initialize_Scanner (No_Unit, Source_gnat_adc);
Config_Pragmas := Par (Configuration_Pragmas => True);
+ Prepcomp.Add_Dependency (Source_gnat_adc);
else
Config_Pragmas := Empty_List;
end if;
@@ -196,12 +199,22 @@ begin
for Index in Opt.Config_File_Names'Range loop
Name_Len := Config_File_Names (Index)'Length;
Name_Buffer (1 .. Name_Len) := Config_File_Names (Index).all;
+ Temp_File :=
+ Name_Len > 4
+ and then
+ (Name_Buffer (Name_Len - 3 .. Name_Len) = ".TMP"
+ or else
+ Name_Buffer (Name_Len - 3 .. Name_Len) = ".tmp");
+
Source_Config_File := Load_Config_File (Name_Enter);
if Source_Config_File = No_Source_File then
Osint.Fail
("cannot find configuration pragmas file "
& Config_File_Names (Index).all);
+
+ elsif not Temp_File then
+ Prepcomp.Add_Dependency (Source_Config_File);
end if;
Initialize_Scanner (No_Unit, Source_Config_File);