This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Allow to extend a project imported only by extended projects


A project that is imported by an extended project was not allowed to be
extended. This patch fixes this.

Invoking
  gnatmake -P test_util.gpr
should not result in an error such as
  cannot extend an already imported project file
or
  cannot import an already extended project file

with "test_b.gpr";
with "test_a.gpr";
project Test_Unit is
end Test_Unit;

project A is
end A;

project Test_A extends "a.gpr" is
end Test_A;

with "a.gpr";
project B is
end B;

project Test_B extends "b.gpr" is
end Test_B;

Tested on x86_64-pc-linux-gnu, committed on trunk

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

	* prj-part.adb (Parse_Single_Project): Accept to extend a project
	if it has only be imported by an project being extended. When a
	project that has only been imported by a project being extended
	is imported by another project that is not being extended,
	reset the previous indication, so that it will be an error if
	this project is extended later.
	* prj-tree.adb (Create_Project): Include component From_Extended
	in table Projects_HT
	* prj-tree.ads (Project_Name_And_Node): New Boolean component
	From_Extended

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]