Commit 02954c25 by Arnaud Charlet

[multiple changes]

2010-09-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Same_Object): include formal parameters.

2010-09-09  Vincent Celier  <celier@adacore.com>

	* make.adb (Queue): New package implementing a new impementation of the
	queue, taking into account the new switch --single-compile-per-obj-dir.
	* makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
	for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
	* opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
	False.
	* switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
	switch --single-compile-per-obj-dir.
	* vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
	switch --single-compile-per-obj-dir.
	* gnat_ugn.texi: Add documentation for new gnatmake switch
	--single-compile-per-obj-dir.

From-SVN: r164067
parent 855f2f8c
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Same_Object): include formal parameters.
2010-09-09 Vincent Celier <celier@adacore.com>
* make.adb (Queue): New package implementing a new impementation of the
queue, taking into account the new switch --single-compile-per-obj-dir.
* makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
* opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
False.
* switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
switch --single-compile-per-obj-dir.
* vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
switch --single-compile-per-obj-dir.
* gnat_ugn.texi: Add documentation for new gnatmake switch
--single-compile-per-obj-dir.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
2010-09-09 Javier Miranda <miranda@adacore.com>
......
......@@ -9250,7 +9250,11 @@ itself must not include any embedded spaces.
@item ^--subdirs^/SUBDIRS^=subdir
Actual object directory of each project file is the subdirectory subdir of the
object directory specified or defauted in the project file.
object directory specified or defaulted in the project file.
@item ^--single-compile-per-obj-dir^/SINGLE_COMPILE_PER_OBJ_DIR^
Disallow simultaneous compilations in the same object directory when
project files are used.
@item ^--unchecked-shared-lib-imports^/UNCHECKED_SHARED_LIB_IMPORTS^
By default, shared library projects are not allowed to import static library
......
......@@ -52,6 +52,11 @@ package Makeutl is
-- Command line switch to allow shared library projects to import projects
-- that are not shared library projects.
Single_Compile_Per_Obj_Dir_Switch : constant String :=
"--single-compile-per-obj-dir";
-- Switch to forbid simultaneous compilations for the same object directory
-- when project files are used.
procedure Add
(Option : String_Access;
To : in out String_List_Access;
......
......@@ -910,6 +910,12 @@ package Opt is
-- GNATMAKE
-- Set to True when an object directory is specified with option -D
One_Compilation_Per_Obj_Dir : Boolean := False;
-- GNATMAKE, GPRBUILD
-- Set to True with switch --single-compile-per-obj-dir. When True, there
-- cannot be simultaneous compilations with the object files in the same
-- object directory, if project files are used.
type Operating_Mode_Type is (Check_Syntax, Check_Semantics, Generate_Code);
Operating_Mode : Operating_Mode_Type := Generate_Code;
-- GNAT
......
......@@ -10538,7 +10538,9 @@ package body Sem_Util is
and then Present (Entity (N2))
and then (Ekind (Entity (N1)) = E_Variable
or else
Ekind (Entity (N1)) = E_Constant)
Ekind (Entity (N1)) = E_Constant
or else
Ekind (Entity (N1)) in Formal_Kind)
and then Entity (N1) = Entity (N2)
then
return True;
......
......@@ -655,6 +655,9 @@ package body Switch.M is
elsif Switch_Chars = Makeutl.Unchecked_Shared_Lib_Imports then
Opt.Unchecked_Shared_Lib_Imports := True;
elsif Switch_Chars = Makeutl.Single_Compile_Per_Obj_Dir_Switch then
Opt.One_Compilation_Per_Obj_Dir := True;
elsif Switch_Chars (Ptr) = '-' then
Bad_Switch (Switch_Chars);
......
......@@ -4858,6 +4858,9 @@ package VMS_Data is
--
-- Search the specified directories for both source and object files.
S_Make_Single : aliased constant S := "/SINGLE_COMPILE_PER_OBJ_DIR " &
"--single-compile-per-obj-dir";
S_Make_Skip : aliased constant S := "/SKIP_MISSING=*" &
"-aL*";
-- /SKIP_MISSING=(directory[,...])
......@@ -4977,6 +4980,7 @@ package VMS_Data is
S_Make_Reason 'Access,
S_Make_RTS 'Access,
S_Make_Search 'Access,
S_Make_Single 'Access,
S_Make_Skip 'Access,
S_Make_Source 'Access,
S_Make_Stand 'Access,
......
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