aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2008-05-27 12:14:01 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-05-27 12:14:01 +0200
commit66f3c0b0de7832717ca5ebace7f72a6ffb101569 (patch)
tree7b9b7d02f594d4744286459ddecb31eacb7828a5
parenta494036c8e2c67c7938f7c4cf34651c3aa1737e2 (diff)
downloadgcc-66f3c0b0de7832717ca5ebace7f72a6ffb101569.zip
gcc-66f3c0b0de7832717ca5ebace7f72a6ffb101569.tar.gz
gcc-66f3c0b0de7832717ca5ebace7f72a6ffb101569.tar.bz2
2008-05-27 Vincent Celier <celier@adacore.com>
* 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
-rw-r--r--gcc/ada/prj-nmsc.adb12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/prj-nmsc.adb b/gcc/ada/prj-nmsc.adb
index bbb0ec8..c69c7b3 100644
--- a/gcc/ada/prj-nmsc.adb
+++ b/gcc/ada/prj-nmsc.adb
@@ -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