Commit 0567ae8d by Arnaud Charlet

[multiple changes]

2014-01-24  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
	attribute definition.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
	in the Queue the same source (same path, same multi-source index)
	from the same project file, to avoid compiling several times
	the same source.

2014-01-24  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (First_Rep_Item): Remove obsolete stuff.
	(Has_Gigi_Rep_Item): Likewise.
	* sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
	Has_Gigi_Rep_Item for objects.
	* gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
	(prepend_one_attribute): ...this.
	(prepend_one_attribute_pragma): New function extracted from...
	(prepend_attributes): ...here.  Swap the parameters for consistency.
	(gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
	prepend_attributes.
	<object>: Deal with a pragma Linker_Section on a constant
	or variable.  <E_Function>: Deal with a pragma Linker_Section
	on a subprogram.
	(get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* opt.ads: Minor comment update.

From-SVN: r207028
parent 4437ea95
2014-01-24 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
attribute definition.
2014-01-24 Vincent Celier <celier@adacore.com>
* makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
in the Queue the same source (same path, same multi-source index)
from the same project file, to avoid compiling several times
the same source.
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (First_Rep_Item): Remove obsolete stuff.
(Has_Gigi_Rep_Item): Likewise.
* sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
Has_Gigi_Rep_Item for objects.
* gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
(prepend_one_attribute): ...this.
(prepend_one_attribute_pragma): New function extracted from...
(prepend_attributes): ...here. Swap the parameters for consistency.
(gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
prepend_attributes.
<object>: Deal with a pragma Linker_Section on a constant
or variable. <E_Function>: Deal with a pragma Linker_Section
on a subprogram.
(get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.
2014-01-24 Vincent Celier <celier@adacore.com>
* opt.ads: Minor comment update.
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Input_Output): Add missing error check
......
......@@ -1290,7 +1290,6 @@ package Einfo is
--
-- Machine_Attribute pragma
-- Link_Alias pragma
-- Linker_Section pragma
-- Linker_Constructor pragma
-- Linker_Destructor pragma
-- Weak_External pragma
......@@ -1299,10 +1298,6 @@ package Einfo is
-- If any of these items are present, then the flag Has_Gigi_Rep_Item is
-- set, indicating that Gigi should search the chain.
--
-- Note that in the case of Linker_Section, this is set only for objects,
-- and only for transitional use until the new Linker_Section_Pragma
-- field is properly processed by the back end.
--
-- Other representation items are included in the chain so that error
-- messages can easily locate the relevant nodes for posting errors.
-- Note in particular that size clauses are defined only for this
......@@ -1559,7 +1554,6 @@ package Einfo is
--
-- Machine_Attribute pragma
-- Linker_Alias pragma
-- Linker_Section pragma
-- Linker_Constructor pragma
-- Linker_Destructor pragma
-- Weak_External pragma
......@@ -1569,10 +1563,6 @@ package Einfo is
-- process any of these items that appear. At least one such item will
-- be present.
--
-- Note that in the case of Linker_Section, this is set only for objects,
-- and only for transitional use until the new Linker_Section_Pragma
-- field is properly processed by the back end.
-- Has_Homonym (Flag56)
-- Defined in all entities. Set if an entity has a homonym in the same
-- scope. Used by Gigi to generate unique names for such entities.
......
......@@ -2485,6 +2485,24 @@ package body Makeutl is
return False;
end if;
-- For gprbuild, check if a source has already been inserted in the
-- queue from the same project in a different project tree.
if Source.Format = Format_Gprbuild then
for J in 1 .. Q.Last loop
if Source.Id.Path.Name = Q.Table (J).Info.Id.Path.Name
and then Source.Id.Index = Q.Table (J).Info.Id.Index
and then Source.Id.Project.Path.Name =
Q.Table (J).Info.Id.Project.Path.Name
then
-- No need to insert this source in the queue, but still
-- return True as we may need to insert its roots.
return True;
end if;
end loop;
end if;
if Current_Verbosity = High then
Write_Str ("Adding """);
Debug_Display (Source);
......
......@@ -1956,7 +1956,7 @@ package Opt is
procedure Restore_Opt_Config_Switches (Save : Config_Switches_Type);
-- This procedure restores a set of switch values previously saved by a
-- call to Save_Opt_Switches.
-- call to Save_Opt_Config_Switches (Save).
procedure Register_Opt_Config_Switches;
-- This procedure is called after processing the gnat.adc file and other
......
......@@ -369,6 +369,7 @@ package body Prj.Attr is
"Premote#" &
"SVroot_dir#" &
"LVexcluded_patterns#" &
-- package Stack
......
......@@ -4963,7 +4963,12 @@ invoking @code{gnatpp} for the source.
@itemize @bullet
@item @b{Excluded_Patterns}: list
Set of patterns to ignore when synchronizing sources from the build
master to the slaves. A set of predefined patterns are supported
(e.g. *.o, *.ali, *.exe, etc.), this attributes make it possible to
add some more patterns.
@item @b{Root_Dir}: single
......
......@@ -15570,19 +15570,6 @@ package body Sem_Prag is
when E_Constant | E_Variable =>
Set_Linker_Section_Pragma (Ent, N);
-- For now, for objects, we also link onto the rep item
-- chain and set the gigi rep item flag. This is here for
-- transition purposes only. When the processing for the
-- Linker_Section_Pragma field is completed, this can be
-- removed, since it will no longer be used.
-- This is accomplished by the call to Rep_Item_Too_Late
-- (when no error is detected and False is returned).
if not Rep_Item_Too_Late (Ent, N) then
Set_Has_Gigi_Rep_Item (Ent);
end if;
-- Types
when Type_Kind =>
......
......@@ -1263,6 +1263,7 @@ package Snames is
Name_Excluded_Source_List_File : constant Name_Id := N + $;
Name_Exec_Dir : constant Name_Id := N + $;
Name_Exec_Subdir : constant Name_Id := N + $;
Name_Excluded_Patterns : constant Name_Id := N + $;
Name_Executable : constant Name_Id := N + $;
Name_Executable_Suffix : constant Name_Id := N + $;
Name_Extends : constant Name_Id := N + $;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment