[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:
parent
976d5a222f
commit
3ea8f61e9f
3 changed files with 58 additions and 27 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Add table
Reference in a new issue