aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-30 17:04:20 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-30 17:04:20 +0200
commit3ea8f61e9fcdc8e9b558d5c03cafdec439de0147 (patch)
tree4560aa9d82c0431860eaac87d1813336b4077893
parent976d5a222fc23279e239ad926472c7810869e494 (diff)
downloadgcc-3ea8f61e9fcdc8e9b558d5c03cafdec439de0147.zip
gcc-3ea8f61e9fcdc8e9b558d5c03cafdec439de0147.tar.gz
gcc-3ea8f61e9fcdc8e9b558d5c03cafdec439de0147.tar.bz2
[multiple changes]
2014-07-30 Vincent Celier <celier@adacore.com> * makeutl.adb (Insert_Project_Sources): When the library project is an aggregate Stand-Alone Library, insert in the queue the Ada interface units, with Closure set to True; 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> * sem_util.adb: Fix minor typo. * makeutl.adb: Minor reformatting. From-SVN: r213294
-rw-r--r--gcc/ada/ChangeLog11
-rw-r--r--gcc/ada/makeutl.adb72
-rw-r--r--gcc/ada/sem_util.adb2
3 files changed, 58 insertions, 27 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0ec4d21..2efa3d6 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,14 @@
+2014-07-30 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Insert_Project_Sources): When the library project
+ is an aggregate Stand-Alone Library, insert in the queue the
+ Ada interface units, with Closure set to True;
+
+2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb: Fix minor typo.
+ * makeutl.adb: Minor reformatting.
+
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index 88826c7..a53ab59 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -2969,41 +2969,61 @@ package body Makeutl is
then
if (Unit_Based
or else Source.Unit = No_Unit_Index
- or else Source.Project.Library)
+ or else Source.Project.Library
+ or else Project.Qualifier = Aggregate_Library)
and then not Is_Subunit (Source)
then
OK := True;
Closure := False;
- if Source.Unit /= No_Unit_Index
- and then Source.Project.Library
- and then Source.Project.Standalone_Library /= No
- then
- -- Check if the unit is in the interface
- OK := False;
+ declare
+ SAL_Project : Project_Id := No_Project;
- declare
- List : String_List_Id :=
- Source.Project.Lib_Interface_ALIs;
- Element : String_Element;
+ begin
+ if Project.Qualifier = Aggregate_Library
+ and then Project.Standalone_Library /= No
+ then
+ if Source.Unit /= No_Unit_Index then
+ SAL_Project := Project;
+ end if;
- begin
- while List /= Nil_String loop
- Element :=
- Project_Tree.Shared.String_Elements.Table
- (List);
+ elsif Source.Unit /= No_Unit_Index
+ and then Source.Project.Library
+ and then Source.Project.Standalone_Library /= No
+ then
+ SAL_Project := Source.Project;
+ end if;
- if Element.Value = Name_Id (Source.Dep_Name)
- then
- OK := True;
- Closure := True;
- exit;
- end if;
+ if SAL_Project /= No_Project then
- List := Element.Next;
- end loop;
- end;
- end if;
+ -- Check if the unit is in the interface
+
+ OK := False;
+
+ declare
+ List : String_List_Id :=
+ SAL_Project.Lib_Interface_ALIs;
+ Element : String_Element;
+
+ begin
+ while List /= Nil_String loop
+ Element :=
+ Project_Tree.Shared.String_Elements.Table
+ (List);
+
+ if Element.Value =
+ Name_Id (Source.Dep_Name)
+ then
+ OK := True;
+ Closure := True;
+ exit;
+ end if;
+
+ List := Element.Next;
+ end loop;
+ end;
+ end if;
+ end;
if OK then
Queue.Insert
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 9759a62..af04384 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -16001,7 +16001,7 @@ package body Sem_Util is
elsif Is_Scalar_Type (T) then
-- If the subrange bounds are materialized by dedicated constant
- -- objects, also include them to the debug info to make sure the
+ -- objects, also include them in the debug info to make sure the
-- debugger can properly use them.
if Present (Scalar_Range (T))