aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 17:12:14 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 17:12:14 +0200
commit094cf3330c711e995e3cd1e2cf6b81fd88b6b7b1 (patch)
tree0680b62a28012eab69f36bdffeb5b8e66d9b4973
parent38564f81946e0a79b7a3da3459eb4e40442d0ee6 (diff)
downloadgcc-094cf3330c711e995e3cd1e2cf6b81fd88b6b7b1.zip
gcc-094cf3330c711e995e3cd1e2cf6b81fd88b6b7b1.tar.gz
gcc-094cf3330c711e995e3cd1e2cf6b81fd88b6b7b1.tar.bz2
[multiple changes]
2014-07-29 Robert Dewar <dewar@adacore.com> * sem_prag.adb (ip, rv): Prevent from being optimized away. * gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found. * s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor reformatting. 2014-07-29 Vincent Celier <celier@adacore.com> * prj-pp.adb: Minor comment update. * frontend.adb: If a target dependency info file has been read through switch -gnateT= add it to the dependencies of the source being compiled. From-SVN: r213211
-rw-r--r--gcc/ada/ChangeLog14
-rw-r--r--gcc/ada/frontend.adb14
-rw-r--r--gcc/ada/gnatls.adb8
-rw-r--r--gcc/ada/prj-pp.adb3
-rw-r--r--gcc/ada/s-imgbiu.adb6
-rw-r--r--gcc/ada/s-imgllb.adb6
-rw-r--r--gcc/ada/s-imgllw.adb6
-rw-r--r--gcc/ada/s-imgwiu.adb6
-rw-r--r--gcc/ada/sem_prag.adb40
9 files changed, 77 insertions, 26 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6108f5b..6a55099 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,19 @@
2014-07-29 Robert Dewar <dewar@adacore.com>
+ * sem_prag.adb (ip, rv): Prevent from being optimized away.
+ * gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found.
+ * s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor
+ reformatting.
+
+2014-07-29 Vincent Celier <celier@adacore.com>
+
+ * prj-pp.adb: Minor comment update.
+ * frontend.adb: If a target dependency info file has been read
+ through switch -gnateT= add it to the dependencies of the source
+ being compiled.
+
+2014-07-29 Robert Dewar <dewar@adacore.com>
+
* sem_ch3.adb, prj.adb: Minor reformatting.
2014-07-29 Vincent Celier <celier@adacore.com>
diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb
index 020fab4..dd58c86 100644
--- a/gcc/ada/frontend.adb
+++ b/gcc/ada/frontend.adb
@@ -314,6 +314,20 @@ begin
Opt.Suppress_Options := Scope_Suppress;
end;
+ -- If a target dependency info file has been read through switch -gnateT=,
+ -- add it to the dependencies.
+
+ if Target_Dependent_Info_Read_Name /= null then
+ declare
+ Index : Source_File_Index;
+ begin
+ Name_Len := 0;
+ Add_Str_To_Name_Buffer (Target_Dependent_Info_Read_Name.all);
+ Index := Load_Config_File (Name_Enter);
+ Prepcomp.Add_Dependency (Index);
+ end;
+ end if;
+
-- This is where we can capture the value of the compilation unit specific
-- restrictions that have been set by the config pragma files (or from
-- Targparm), for later restoration when processing e.g. subunits.
diff --git a/gcc/ada/gnatls.adb b/gcc/ada/gnatls.adb
index 4a7c217..576b41a 100644
--- a/gcc/ada/gnatls.adb
+++ b/gcc/ada/gnatls.adb
@@ -129,6 +129,9 @@ procedure Gnatls is
RTS_Specified : String_Access := null;
-- Used to detect multiple use of --RTS= switch
+ Exit_Status : Exit_Code_Type := E_Success;
+ -- Reset to E_Fatal if bad error found
+
-----------------------
-- Local Subprograms --
-----------------------
@@ -1764,7 +1767,7 @@ begin
Initialize_ALI;
Initialize_ALI_Source;
- -- Print out all library for which no ALI files can be located
+ -- Print out all libraries for which no ALI files can be located
while More_Lib_Files loop
Main_File := Next_Main_Lib_File;
@@ -1782,6 +1785,7 @@ begin
Write_Str (Name_Buffer (1 .. Name_Len));
Write_Char ('"'); -- "
Write_Eol;
+ Exit_Status := E_Fatal;
end if;
else
@@ -1906,5 +1910,5 @@ begin
-- All done. Set proper exit status
Namet.Finalize;
- Exit_Program (E_Success);
+ Exit_Program (Exit_Status);
end Gnatls;
diff --git a/gcc/ada/prj-pp.adb b/gcc/ada/prj-pp.adb
index 7c21e10..30402ea 100644
--- a/gcc/ada/prj-pp.adb
+++ b/gcc/ada/prj-pp.adb
@@ -85,8 +85,7 @@ package body Prj.PP is
-- Outputs the indentation at the beginning of the line
procedure Output_Project_File (S : Name_Id);
- -- Output a string for a project file name. No concatenation even if the
- -- line is too long. What does that mean???
+ -- Output a project file name in one single string literal
procedure Output_String (S : Name_Id; Indent : Natural);
-- Outputs a string using the default output procedures
diff --git a/gcc/ada/s-imgbiu.adb b/gcc/ada/s-imgbiu.adb
index f7b0f45..66c76f5 100644
--- a/gcc/ada/s-imgbiu.adb
+++ b/gcc/ada/s-imgbiu.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2009 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-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- --
@@ -99,6 +99,10 @@ package body System.Img_BIU is
procedure Set_Digits (T : Unsigned);
-- Set digits of absolute value of T
+ ----------------
+ -- Set_Digits --
+ ----------------
+
procedure Set_Digits (T : Unsigned) is
begin
if T >= BU then
diff --git a/gcc/ada/s-imgllb.adb b/gcc/ada/s-imgllb.adb
index 2ab1e4d..3f0da25 100644
--- a/gcc/ada/s-imgllb.adb
+++ b/gcc/ada/s-imgllb.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2009 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-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- --
@@ -102,6 +102,10 @@ package body System.Img_LLB is
procedure Set_Digits (T : Long_Long_Unsigned);
-- Set digits of absolute value of T
+ ----------------
+ -- Set_Digits --
+ ----------------
+
procedure Set_Digits (T : Long_Long_Unsigned) is
begin
if T >= BU then
diff --git a/gcc/ada/s-imgllw.adb b/gcc/ada/s-imgllw.adb
index c4670d2..78d8674 100644
--- a/gcc/ada/s-imgllw.adb
+++ b/gcc/ada/s-imgllw.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2009 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-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- --
@@ -96,6 +96,10 @@ package body System.Img_LLW is
procedure Set_Digits (T : Long_Long_Unsigned);
-- Set digits of absolute value of T
+ ----------------
+ -- Set_Digits --
+ ----------------
+
procedure Set_Digits (T : Long_Long_Unsigned) is
begin
if T >= 10 then
diff --git a/gcc/ada/s-imgwiu.adb b/gcc/ada/s-imgwiu.adb
index 62dd9c1..022f75c 100644
--- a/gcc/ada/s-imgwiu.adb
+++ b/gcc/ada/s-imgwiu.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-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- --
@@ -94,6 +94,10 @@ package body System.Img_WIU is
procedure Set_Digits (T : Unsigned);
-- Set digits of absolute value of T
+ ----------------
+ -- Set_Digits --
+ ----------------
+
procedure Set_Digits (T : Unsigned) is
begin
if T >= 10 then
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index a25f451..3571073 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -315,7 +315,19 @@ package body Sem_Prag is
-- pragma. Entity name for unit and its parents is taken from item in
-- previous with_clause that mentions the unit.
+ Dummy : Integer := 0;
+ pragma Volatile (Dummy);
+ -- Dummy volatile integer used in bodies of ip/rv to prevent optimization
+
+ procedure ip;
+ pragma No_Inline (ip);
+ -- A dummy procedure called when pragma Inspection_Point is analyzed. This
+ -- is just to help debugging the front end. If a pragma Inspection_Point
+ -- is added to a source program, then breaking on ip will get you to that
+ -- point in the program.
+
procedure rv;
+ pragma No_Inline (rv);
-- This is a dummy function called by the processing for pragma Reviewable.
-- It is there for assisting front end debugging. By placing a Reviewable
-- pragma in the source program, a breakpoint on rv catches this place in
@@ -15416,23 +15428,6 @@ package body Sem_Prag is
Arg : Node_Id;
Exp : Node_Id;
- procedure ip;
- -- A dummy procedure called when pragma Inspection_Point is
- -- analyzed. This is just to help debugging the front end. If
- -- a pragma Inspection_Point is added to a source program, then
- -- breaking on ip will get you to that point in the program.
-
- --------
- -- ip --
- --------
-
- procedure ip is
- begin
- null;
- end ip;
-
- -- Start of processing for Inspection_Point
-
begin
ip;
@@ -25185,6 +25180,15 @@ package body Sem_Prag is
Externals.Init;
end Initialize;
+ --------
+ -- ip --
+ --------
+
+ procedure ip is
+ begin
+ Dummy := Dummy + 1;
+ end ip;
+
-----------------------------
-- Is_Config_Static_String --
-----------------------------
@@ -26119,7 +26123,7 @@ package body Sem_Prag is
procedure rv is
begin
- null;
+ Dummy := Dummy + 1;
end rv;
--------------------------------