prj.adb, [...] (Complete_Mains): search for the sources in the project and its import...
authorEmmanuel Briot <briot@adacore.com>
Thu, 4 Aug 2011 12:24:46 +0000 (12:24 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 4 Aug 2011 12:24:46 +0000 (14:24 +0200)
2011-08-04  Emmanuel Briot  <briot@adacore.com>

* 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
gcc/ada/makeutl.adb
gcc/ada/prj.adb
gcc/ada/prj.ads

index 1214985df52c3867eb279dc7156dec9864974898..00681af10744d3092a49bcca59d30cde79dedb76 100644 (file)
@@ -1,3 +1,9 @@
+2011-08-04  Emmanuel Briot  <briot@adacore.com>
+
+       * 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  <briot@adacore.com>
 
        * make.adb: Remove debug trace.
index 242df5e1497aeec3fe251adb569f99b4a83e9d79..ee8f0043e7d7cd8282f114f88cd7ea0bc3dfd398 100644 (file)
@@ -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
index 670a0a074c352e048faeaa25875781802df8cb25..133fca5cfa4ba155d358d692fb845bd5b3724c97 100644 (file)
@@ -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);
index 5942abc17d25ae3cc17cbaecf7f4168ab8f88098..710275747ffaf46d323eabdd1bda190a5c2eef68 100644 (file)
@@ -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.
 
    -----------------------