[multiple changes]

2009-04-17  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
	avoid generating code that references the Current_Master
	when compiling without tasks.

2009-04-17  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New project level attribute Target
	
	* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
	attribute Target
	
	* prj.ads (Project_Configuration): New component Target

From-SVN: r146256
This commit is contained in:
Arnaud Charlet 2009-04-17 14:16:04 +02:00
parent 68f7b0613f
commit b20de9b936
5 changed files with 35 additions and 2 deletions

View file

@ -1,3 +1,18 @@
2009-04-17 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
avoid generating code that references the Current_Master
when compiling without tasks.
2009-04-17 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New project level attribute Target
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
attribute Target
* prj.ads (Project_Configuration): New component Target
2009-04-17 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special

View file

@ -116,6 +116,7 @@ package body Prj.Attr is
"Satoolchain_description#" &
"Saobject_generated#" &
"Saobjects_linked#" &
"SVtarget#" &
-- Configuration - Libraries

View file

@ -1977,7 +1977,13 @@ package body Prj.Nmsc is
In_Tree.Variable_Elements.Table (Attribute_Id);
if not Attribute.Value.Default then
if Attribute.Name = Name_Library_Builder then
if Attribute.Name = Name_Target then
-- Attribute Target: the target specified
Data.Config.Target := Attribute.Value.Value;
elsif Attribute.Name = Name_Library_Builder then
-- Attribute Library_Builder: the application to invoke
-- to build libraries.

View file

@ -997,6 +997,9 @@ package Prj is
-- The format of the different response files
type Project_Configuration is record
Target : Name_Id := No_Name;
-- The target of the configuration, when specified
Run_Path_Option : Name_List_Index := No_Name_List;
-- The option to use when linking to specify the path where to look for
-- libraries.
@ -1106,7 +1109,8 @@ package Prj is
end record;
Default_Project_Config : constant Project_Configuration :=
(Run_Path_Option => No_Name_List,
(Target => No_Name,
Run_Path_Option => No_Name_List,
Executable_Suffix => No_Name,
Linker => No_Path,
Map_File_Option => No_Name,

View file

@ -47,6 +47,8 @@ with Nlists; use Nlists;
with Nmake; use Nmake;
with Opt; use Opt;
with Output; use Output;
with Restrict; use Restrict;
with Rident; use Rident;
with Rtsfind; use Rtsfind;
with Sem; use Sem;
with Sem_Aux; use Sem_Aux;
@ -1485,6 +1487,11 @@ package body Sem_Ch6 is
and then
Is_Limited_Record (Designated_Type (Etype (Scop)))))
and then Expander_Active
-- Avoid cases with no tasking support
and then RTE_Available (RE_Current_Master)
and then not Restriction_Active (No_Task_Hierarchy)
then
Decl :=
Make_Object_Declaration (Loc,