From 767ab2fde8deb8a34866897bd3d6b07b43e366bd Mon Sep 17 00:00:00 2001 From: Emmanuel Briot Date: Thu, 4 Aug 2011 12:24:46 +0000 Subject: [PATCH] prj.adb, [...] (Complete_Mains): search for the sources in the project and its imported projects... 2011-08-04 Emmanuel Briot * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the sources in the project and its imported projects, but not in the whole tree. From-SVN: r177370 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/makeutl.adb | 3 ++- gcc/ada/prj.adb | 9 +++++---- gcc/ada/prj.ads | 10 ++++++---- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1214985df52..00681af1074 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2011-08-04 Emmanuel Briot + + * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the + sources in the project and its imported projects, but not in the whole + tree. + 2011-08-04 Emmanuel Briot * make.adb: Remove debug trace. diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb index 242df5e1497..ee8f0043e7d 100644 --- a/gcc/ada/makeutl.adb +++ b/gcc/ada/makeutl.adb @@ -1491,7 +1491,8 @@ package body Makeutl is (In_Tree => File.Tree, Project => File.Project, Base_Name => Main_Id, - Index => File.Index); + Index => File.Index, + In_Imported_Only => True); if Source = No_Source then Source := Find_File_Add_Extension diff --git a/gcc/ada/prj.adb b/gcc/ada/prj.adb index 670a0a074c3..133fca5cfa4 100644 --- a/gcc/ada/prj.adb +++ b/gcc/ada/prj.adb @@ -271,7 +271,7 @@ package body Prj is begin -- Only the fields for which no default value could be provided in - -- prj.ads are initialized below + -- prj.ads are initialized below. Data.Config := Default_Project_Config; return Data; @@ -593,9 +593,10 @@ package body Prj is if Result = No_Source then For_Imported_Projects - (By => Project, - Tree => In_Tree, - With_State => Result); + (By => Project, + Tree => In_Tree, + Include_Aggregated => False, + With_State => Result); end if; else Look_For_Sources (No_Project, In_Tree, Result); diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads index 5942abc17d2..710275747ff 100644 --- a/gcc/ada/prj.ads +++ b/gcc/ada/prj.ads @@ -1397,10 +1397,12 @@ package Prj is In_Extended_Only : Boolean := False; Base_Name : File_Name_Type; Index : Int := 0) return Source_Id; - -- Find the first source file with the given name either in the whole tree - -- (if In_Imported_Only is False) or in the projects imported or extended - -- by Project otherwise. In_Extended_Only implies In_Imported_Only, and - -- will only look in Project and the projects it extends. + -- Find the first source file with the given name. + -- If In_Extended_Only is True, it will search in project and the project + -- it extends, but not in the imported projects. + -- Elsif In_Imported_Only is True, it will search in project and the + -- projects it imports, but not in the others or in aggregated projects. + -- Else it searches in the whole tree. -- If Index is specified, this only search for a source with that index. ----------------------- -- 2.30.2