[multiple changes]

2010-06-23  Emmanuel Briot  <briot@adacore.com>

	* prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
	Missing_Source_Files.

2010-06-23  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb, exp_util.adb: Minor reformatting.

From-SVN: r161249
This commit is contained in:
Arnaud Charlet 2010-06-23 08:35:36 +02:00
parent 5b599df4d1
commit 3aee21ef61
6 changed files with 70 additions and 33 deletions

View File

@ -1,3 +1,12 @@
2010-06-23 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
Missing_Source_Files.
2010-06-23 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb, exp_util.adb: Minor reformatting.
2010-06-23 Jose Ruiz <ruiz@adacore.com>
* a-reatim.adb, a-retide.adb: Move the initialization of the tasking

View File

@ -5927,8 +5927,8 @@ package body Exp_Ch3 is
and then Has_Discriminants (Def_Id)
then
declare
Ctyp : constant Entity_Id :=
Corresponding_Concurrent_Type (Def_Id);
Ctyp : constant Entity_Id :=
Corresponding_Concurrent_Type (Def_Id);
Conc_Discr : Entity_Id;
Rec_Discr : Entity_Id;
Temp : Entity_Id;
@ -5936,7 +5936,6 @@ package body Exp_Ch3 is
begin
Conc_Discr := First_Discriminant (Ctyp);
Rec_Discr := First_Discriminant (Def_Id);
while Present (Conc_Discr) loop
Temp := Discriminal (Conc_Discr);
Set_Discriminal (Conc_Discr, Discriminal (Rec_Discr));
@ -7821,12 +7820,11 @@ package body Exp_Ch3 is
-- If a primitive is encountered that renames the predefined
-- equality operator before reaching any explicit equality
-- primitive, then we still need to create a predefined
-- equality function, because calls to it can occur via
-- the renaming. A new name is created for the equality
-- to avoid conflicting with any user-defined equality.
-- (Note that this doesn't account for renamings of
-- equality nested within subpackages???)
-- primitive, then we still need to create a predefined equality
-- function, because calls to it can occur via the renaming. A new
-- name is created for the equality to avoid conflicting with any
-- user-defined equality. (Note that this doesn't account for
-- renamings of equality nested within subpackages???)
if Is_Predefined_Eq_Renaming (Node (Prim)) then
Eq_Name := New_External_Name (Chars (Node (Prim)), 'E');

View File

@ -305,11 +305,9 @@ package body Exp_Util is
else
if No (Actions (Fnode)) then
Set_Actions (Fnode, L);
else
Append_List (L, Actions (Fnode));
end if;
end if;
end Append_Freeze_Actions;

View File

@ -6537,19 +6537,40 @@ package body Prj.Nmsc is
if not NL.Found then
Err_Vars.Error_Msg_File_1 := NL.Name;
if First_Error then
Error_Msg
(Data.Flags,
"source file { not found",
NL.Location, Project.Project);
First_Error := False;
case Data.Flags.Missing_Source_Files is
when Error =>
if First_Error then
Error_Msg
(Data.Flags,
"source file { not found",
NL.Location, Project.Project);
First_Error := False;
else
Error_Msg
(Data.Flags,
"\source file { not found",
NL.Location, Project.Project);
end if;
else
Error_Msg
(Data.Flags,
"\source file { not found",
NL.Location, Project.Project);
end if;
when Warning =>
if First_Error then
Error_Msg
(Data.Flags,
"?source file { not found",
NL.Location, Project.Project);
First_Error := False;
else
Error_Msg
(Data.Flags,
"?\source file { not found",
NL.Location, Project.Project);
end if;
when Silent =>
null;
end case;
end if;
NL := Source_Names_Htable.Get_Next (Project.Source_Names);

View File

@ -1230,7 +1230,8 @@ package body Prj is
Compiler_Driver_Mandatory : Boolean := False;
Error_On_Unknown_Language : Boolean := True;
Require_Obj_Dirs : Error_Warning := Error;
Allow_Invalid_External : Error_Warning := Error)
Allow_Invalid_External : Error_Warning := Error;
Missing_Source_Files : Error_Warning := Error)
return Processing_Flags
is
begin
@ -1242,7 +1243,8 @@ package body Prj is
Error_On_Unknown_Language => Error_On_Unknown_Language,
Compiler_Driver_Mandatory => Compiler_Driver_Mandatory,
Require_Obj_Dirs => Require_Obj_Dirs,
Allow_Invalid_External => Allow_Invalid_External);
Allow_Invalid_External => Allow_Invalid_External,
Missing_Source_Files => Missing_Source_Files);
end Create_Flags;
------------

View File

@ -1459,7 +1459,8 @@ package Prj is
Compiler_Driver_Mandatory : Boolean := False;
Error_On_Unknown_Language : Boolean := True;
Require_Obj_Dirs : Error_Warning := Error;
Allow_Invalid_External : Error_Warning := Error)
Allow_Invalid_External : Error_Warning := Error;
Missing_Source_Files : Error_Warning := Error)
return Processing_Flags;
-- Function used to create Processing_Flags structure
--
@ -1492,6 +1493,10 @@ package Prj is
-- If Allow_Invalid_External is Silent, then no error is reported when an
-- invalid value is used for an external variable (and it doesn't match its
-- type). Instead, the first possible value is used.
--
-- Missing_Source_Files indicates whether it is an error or a warning that
-- a source file mentioned in the Source_Files attributes is not actually
-- found in the source directories
Gprbuild_Flags : constant Processing_Flags;
Gprclean_Flags : constant Processing_Flags;
@ -1521,6 +1526,10 @@ package Prj is
-- another program running on the same machine has recreated it.
-- Does nothing if Debug.Debug_Flag_N is set
Virtual_Prefix : constant String := "v$";
-- The prefix for virtual extending projects. Because of the '$', which is
-- normally forbidden for project names, there cannot be any name clash.
private
All_Packages : constant String_List_Access := null;
@ -1535,10 +1544,6 @@ private
Location => No_Location,
Default => False);
Virtual_Prefix : constant String := "v$";
-- The prefix for virtual extending projects. Because of the '$', which is
-- normally forbidden for project names, there cannot be any name clash.
type Source_Iterator is record
In_Tree : Project_Tree_Ref;
@ -1601,6 +1606,7 @@ private
Error_On_Unknown_Language : Boolean;
Require_Obj_Dirs : Error_Warning;
Allow_Invalid_External : Error_Warning;
Missing_Source_Files : Error_Warning;
end record;
Gprbuild_Flags : constant Processing_Flags :=
@ -1611,7 +1617,8 @@ private
Compiler_Driver_Mandatory => True,
Error_On_Unknown_Language => True,
Require_Obj_Dirs => Error,
Allow_Invalid_External => Error);
Allow_Invalid_External => Error,
Missing_Source_Files => Error);
Gprclean_Flags : constant Processing_Flags :=
(Report_Error => null,
@ -1621,7 +1628,8 @@ private
Compiler_Driver_Mandatory => True,
Error_On_Unknown_Language => True,
Require_Obj_Dirs => Warning,
Allow_Invalid_External => Error);
Allow_Invalid_External => Error,
Missing_Source_Files => Warning);
Gnatmake_Flags : constant Processing_Flags :=
(Report_Error => null,
@ -1631,6 +1639,7 @@ private
Compiler_Driver_Mandatory => False,
Error_On_Unknown_Language => False,
Require_Obj_Dirs => Error,
Allow_Invalid_External => Error);
Allow_Invalid_External => Error,
Missing_Source_Files => Error);
end Prj;