aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ada/ChangeLog13
-rw-r--r--gcc/ada/frontend.adb13
-rw-r--r--gcc/ada/gnat_ugn.texi6
-rw-r--r--gcc/ada/prepcomp.adb20
-rw-r--r--gcc/ada/prepcomp.ads12
5 files changed, 53 insertions, 11 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0a45f08..7f36e12 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,16 @@
+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.
+
2014-07-29 Robert Dewar <dewar@adacore.com>
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with
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);
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 2dcdb4f..3b03940 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -10968,7 +10968,7 @@ in the loop. Consider for example the procedure:
@noindent
By default, the compiler cannot unconditionally vectorize the loop because
assigning to a component of the array designated by R in one iteration could
-change the value read from the components of the arrays designated by X or Y
+change the value read from the components of the array designated by X or Y
in a later iteration. As a result, the compiler will generate two versions
of the loop in the object code, one vectorized and the other not vectorized,
as well as a test to select the appropriate version at run time. This can
@@ -19834,7 +19834,9 @@ Suppresses noncritical output messages.
@item -v
@cindex @option{-v} (@command{gnattest})
-Verbose mode: generates version information.
+Verbose mode: generates version information if specified by itself on the
+command line. If specified via GNATtest_Switches, produces output
+about the execution of the tool.
@item --validate-type-extensions
@cindex @option{--validate-type-extensions} (@command{gnattest})
diff --git a/gcc/ada/prepcomp.adb b/gcc/ada/prepcomp.adb
index 2cc1c5e..737ebf2 100644
--- a/gcc/ada/prepcomp.adb
+++ b/gcc/ada/prepcomp.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -34,7 +34,6 @@ with Scn; use Scn;
with Sinput.L; use Sinput.L;
with Stringt; use Stringt;
with Table;
-with Types; use Types;
package body Prepcomp is
@@ -137,6 +136,16 @@ package body Prepcomp is
end loop;
end Add_Command_Line_Symbols;
+ --------------------
+ -- Add_Dependency --
+ --------------------
+
+ procedure Add_Dependency (S : Source_File_Index) is
+ begin
+ Dependencies.Increment_Last;
+ Dependencies.Table (Dependencies.Last) := S;
+ end Add_Dependency;
+
----------------------
-- Add_Dependencies --
----------------------
@@ -543,9 +552,7 @@ package body Prepcomp is
-- Record the dependency on the preprocessor data file
- Dependencies.Increment_Last;
- Dependencies.Table (Dependencies.Last) :=
- Source_Index_Of_Preproc_Data_File;
+ Add_Dependency (Source_Index_Of_Preproc_Data_File);
end Parse_Preprocessing_Data_File;
---------------------------
@@ -676,8 +683,7 @@ package body Prepcomp is
end loop;
if Add_Deffile then
- Dependencies.Increment_Last;
- Dependencies.Table (Dependencies.Last) := Deffile;
+ Add_Dependency (Deffile);
end if;
end;
diff --git a/gcc/ada/prepcomp.ads b/gcc/ada/prepcomp.ads
index 00ddf13..ea132ff 100644
--- a/gcc/ada/prepcomp.ads
+++ b/gcc/ada/prepcomp.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2002-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -26,12 +26,20 @@
-- This package stores all preprocessing data for the compiler
with Namet; use Namet;
+with Types; use Types;
package Prepcomp is
+ procedure Add_Dependency (S : Source_File_Index);
+ -- Add a dependency on a non-source file.
+ -- This is used internally for the preprocessing data file and the
+ -- preprocessing definition file, and also externally for non-temporary
+ -- configuration pragmas files.
+
procedure Add_Dependencies;
-- Add dependencies on the preprocessing data file and the preprocessing
- -- definition files, if any.
+ -- definition files, if any, and the non-temporary configuration pragmas
+ -- files, if any.
procedure Check_Symbols;
-- Check if there are preprocessing symbols on the command line and set