[multiple changes]
2014-11-20 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Analyze_Inlined_Bodies): Iterate between loading of the inlined bodies and instantiation of the generic bodies until no more bodies need to be loaded. 2014-11-20 Vincent Celier <celier@adacore.com> * prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name: Update_Ignore_Missing_With becomes Set_Ignore_Missing_With. From-SVN: r217831
This commit is contained in:
parent
8a23b10063
commit
04e9213da7
|
@ -1,3 +1,14 @@
|
|||
2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* inline.adb (Analyze_Inlined_Bodies): Iterate between loading
|
||||
of the inlined bodies and instantiation of the generic bodies
|
||||
until no more bodies need to be loaded.
|
||||
|
||||
2014-11-20 Vincent Celier <celier@adacore.com>
|
||||
|
||||
* prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name:
|
||||
Update_Ignore_Missing_With becomes Set_Ignore_Missing_With.
|
||||
|
||||
2014-11-20 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
|
||||
|
|
|
@ -774,16 +774,21 @@ package body Inline is
|
|||
end if;
|
||||
|
||||
J := J + 1;
|
||||
end loop;
|
||||
|
||||
if J > Inlined_Bodies.Last then
|
||||
|
||||
-- The analysis of required bodies may have produced additional
|
||||
-- generic instantiations. To obtain further inlining, we perform
|
||||
-- another round of generic body instantiations. Establishing a
|
||||
-- fully recursive loop between inlining and generic instantiations
|
||||
-- is unlikely to yield more than this one additional pass.
|
||||
-- generic instantiations. To obtain further inlining, we need
|
||||
-- to perform another round of generic body instantiations.
|
||||
|
||||
Instantiate_Bodies;
|
||||
|
||||
-- Symmetrically, the instantiation of required generic bodies
|
||||
-- may have caused additional bodies to be inlined. To obtain
|
||||
-- further inlining, we keep looping over the inlined bodies.
|
||||
end if;
|
||||
end loop;
|
||||
|
||||
-- The list of inlined subprograms is an overestimate, because it
|
||||
-- includes inlined functions called from functions that are compiled
|
||||
-- as part of an inlined package, but are not themselves called. An
|
||||
|
|
|
@ -1630,7 +1630,7 @@ package body Prj.Conf is
|
|||
|
||||
-- Start with ignoring missing withed projects
|
||||
|
||||
Update_Ignore_Missing_With (Env.Flags, True);
|
||||
Set_Ignore_Missing_With (Env.Flags, True);
|
||||
|
||||
-- Note: If in fact the config file is automatically generated, then
|
||||
-- Automatically_Generated will be set to True after invocation of
|
||||
|
@ -1751,7 +1751,7 @@ package body Prj.Conf is
|
|||
-- update the project path and try again.
|
||||
|
||||
if Main_Project /= No_Project and then Config_Try_Again then
|
||||
Update_Ignore_Missing_With (Env.Flags, False);
|
||||
Set_Ignore_Missing_With (Env.Flags, False);
|
||||
|
||||
if Config_File_Path /= null then
|
||||
Conf_File_Name := new String'(Config_File_Path.all);
|
||||
|
|
|
@ -2147,16 +2147,17 @@ package body Prj is
|
|||
(Root_Project, Root_Tree, Project_Context'(False, False));
|
||||
end For_Project_And_Aggregated_Context;
|
||||
|
||||
--------------------------------
|
||||
-- Update_Ignore_Missing_With --
|
||||
--------------------------------
|
||||
-----------------------------
|
||||
-- Set_Ignore_Missing_With --
|
||||
-----------------------------
|
||||
|
||||
procedure Update_Ignore_Missing_With
|
||||
(Flags : in out Processing_Flags; Value : Boolean)
|
||||
procedure Set_Ignore_Missing_With
|
||||
(Flags : in out Processing_Flags;
|
||||
Value : Boolean)
|
||||
is
|
||||
begin
|
||||
Flags.Ignore_Missing_With := Value;
|
||||
end Update_Ignore_Missing_With;
|
||||
end Set_Ignore_Missing_With;
|
||||
|
||||
-- Package initialization for Prj
|
||||
|
||||
|
|
|
@ -1893,9 +1893,10 @@ package Prj is
|
|||
-- * user project also includes a "with" that can only be resolved
|
||||
-- once we have found the gnatls
|
||||
|
||||
procedure Update_Ignore_Missing_With
|
||||
(Flags : in out Processing_Flags; Value : Boolean);
|
||||
-- Update the value of component Ignore_Missing_With in Flags with Value
|
||||
procedure Set_Ignore_Missing_With
|
||||
(Flags : in out Processing_Flags;
|
||||
Value : Boolean);
|
||||
-- Set the value of component Ignore_Missing_With in Flags to Value
|
||||
|
||||
Gprbuild_Flags : constant Processing_Flags;
|
||||
Gprinstall_Flags : constant Processing_Flags;
|
||||
|
|
Loading…
Reference in New Issue