diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f7cf5b7d76d7..decde4a9f67b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2013-01-03 Pascal Obry + + * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and + corresponding attibutes. + +2013-01-03 Thomas Quinot + + * exp_aggr.adb: Minor comment improvement. + 2013-01-03 Hristian Kirtchev * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 6a5eabebc267..efadf4b96348 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -4979,9 +4979,11 @@ package body Exp_Aggr is end if; -- Perform in-place expansion of aggregate in an object declaration. - -- Note: actions generated for the aggregate will be captured in a block - -- statement so that they can be transferred to freeze actions later - -- if there is an address clause for the object. + -- Note: actions generated for the aggregate will be captured in an + -- expression-with-actions statement so that they can be transferred + -- to freeze actions later if there is an address clause for the + -- object. (Note: we don't use a block statement because this would + -- cause generated freeze nodes to be elaborated in the wrong scope). -- Should document these individual tests ??? diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb index f2af8379100b..05fec4861e46 100644 --- a/gcc/ada/prj-attr.adb +++ b/gcc/ada/prj-attr.adb @@ -361,6 +361,12 @@ package body Prj.Attr is "SVproject_subdir#" & "SVactive#" & + -- package Remote + + "Premote#" & + "LVbuild_slaves#" & + "SVroot_dir#" & + -- package Stack "Pstack#" & diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi index f3ecde9826f3..6bf1e0c7c208 100644 --- a/gcc/ada/projects.texi +++ b/gcc/ada/projects.texi @@ -227,6 +227,7 @@ should contain the following code: * Avoid Duplication With Variables:: * Naming Schemes:: * Installation:: +* Distributed support:: @end menu @c --------------------------------------------- @@ -1077,6 +1078,53 @@ Subdirectory of @b{Prefix} where the generated project file is to be installed. Default is @b{share/gpr}. @end table +@c --------------------------------------------- +@node Distributed support +@subsection Distributed support +@c --------------------------------------------- + +@noindent +For large projects the compilation time can become a limitation in +the development cycle. To cope with that, GPRbuild supports +distributed compilation. + +The following attributes can be defined in package @code{Remote}: + +@table @asis + +@item @b{Build_Slaves} +@cindex @code{Build_Slaves} + +A list of string referencing the remote build slaves to use for the +compilation phase. The format is: +@code{[protocol://]name.domain[:port]}. + +Where @code{protocol} is one of: + +@table @asis + +@item rsync +@cindex @code{rsync} + +The sources are copied using the external @code{rsync} tool. + +@item file + +The sources are accessed via a shared directory or mount point. + +@end table + +The default port used to communicate with @command{gprslave} is +@code{8484}. + +@item @b{Root_Dir}: +@cindex @code{Root_Dir} + +Root directory of the project's sources. The default value is the +project's directory. + +@end table + @c --------------------------------------------- @node Organizing Projects into Subsystems @section Organizing Projects into Subsystems diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl index 2968830f93f2..d350c707e000 100644 --- a/gcc/ada/snames.ads-tmpl +++ b/gcc/ada/snames.ads-tmpl @@ -1193,6 +1193,7 @@ package Snames is Name_Archive_Suffix : constant Name_Id := N + $; Name_Binder : constant Name_Id := N + $; Name_Body_Suffix : constant Name_Id := N + $; + Name_Build_Slaves : constant Name_Id := N + $; Name_Builder : constant Name_Id := N + $; Name_Clean : constant Name_Id := N + $; Name_Compiler : constant Name_Id := N + $; @@ -1308,8 +1309,10 @@ package Snames is Name_Project_Files : constant Name_Id := N + $; Name_Project_Path : constant Name_Id := N + $; Name_Project_Subdir : constant Name_Id := N + $; + Name_Remote : constant Name_Id := N + $; Name_Response_File_Format : constant Name_Id := N + $; Name_Response_File_Switches : constant Name_Id := N + $; + Name_Root_Dir : constant Name_Id := N + $; Name_Roots : constant Name_Id := N + $; -- GB Name_Required_Switches : constant Name_Id := N + $; Name_Run_Path_Option : constant Name_Id := N + $;