2008-05-27 Vincent Celier <celier@adacore.com>
authorVincent Celier <celier@adacore.com>
Tue, 27 May 2008 10:14:01 +0000 (12:14 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 27 May 2008 10:14:01 +0000 (12:14 +0200)
* prj-nmsc.adb:
(Check_File): Make sure that a unit that replaces the same unit in a
 project being extended is properly processed.

From-SVN: r136000

gcc/ada/prj-nmsc.adb

index bbb0ec8f9ff0b91f6736ec4ec701016c7ed36179..c69c7b31605de68e51f07da5e662be034965e768 100644 (file)
@@ -8593,13 +8593,21 @@ package body Prj.Nmsc is
 
                if Unit /= No_Name
                  and then Src_Data.Unit = Unit
-                 and then Src_Data.Kind /= Kind
+                 and then
+                   ((Src_Data.Kind = Spec and then Kind = Impl)
+                    or else
+                    (Src_Data.Kind = Impl and then Kind = Spec))
                then
                   Other_Part := Source;
 
                elsif (Unit /= No_Name
                        and then Src_Data.Unit = Unit
-                       and then Src_Data.Kind = Kind)
+                      and then
+                        (Src_Data.Kind = Kind
+                         or else
+                         (Src_Data.Kind = Sep and then Kind = Impl)
+                         or else
+                         (Src_Data.Kind = Impl and then Kind = Sep)))
                  or else (Unit = No_Name and then Src_Data.File = File_Name)
                then
                   --  Duplication of file/unit in same project is only