[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
This commit is contained in:
Arnaud Charlet 2014-07-30 17:04:20 +02:00
parent 976d5a222f
commit 3ea8f61e9f
3 changed files with 58 additions and 27 deletions

View file

@ -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> 2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting. * exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.

View file

@ -2969,41 +2969,61 @@ package body Makeutl is
then then
if (Unit_Based if (Unit_Based
or else Source.Unit = No_Unit_Index 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) and then not Is_Subunit (Source)
then then
OK := True; OK := True;
Closure := False; Closure := False;
if Source.Unit /= No_Unit_Index declare
and then Source.Project.Library SAL_Project : Project_Id := No_Project;
and then Source.Project.Standalone_Library /= No
then
-- Check if the unit is in the interface
OK := False;
declare begin
List : String_List_Id := if Project.Qualifier = Aggregate_Library
Source.Project.Lib_Interface_ALIs; and then Project.Standalone_Library /= No
Element : String_Element; then
if Source.Unit /= No_Unit_Index then
SAL_Project := Project;
end if;
begin elsif Source.Unit /= No_Unit_Index
while List /= Nil_String loop and then Source.Project.Library
Element := and then Source.Project.Standalone_Library /= No
Project_Tree.Shared.String_Elements.Table then
(List); SAL_Project := Source.Project;
end if;
if Element.Value = Name_Id (Source.Dep_Name) if SAL_Project /= No_Project then
then
OK := True;
Closure := True;
exit;
end if;
List := Element.Next; -- Check if the unit is in the interface
end loop;
end; OK := False;
end if;
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 if OK then
Queue.Insert Queue.Insert

View file

@ -16001,7 +16001,7 @@ package body Sem_Util is
elsif Is_Scalar_Type (T) then elsif Is_Scalar_Type (T) then
-- If the subrange bounds are materialized by dedicated constant -- 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. -- debugger can properly use them.
if Present (Scalar_Range (T)) if Present (Scalar_Range (T))