aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/prj-attr.adb
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2007-12-19 17:24:17 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2007-12-19 17:24:17 +0100
commitce914b984f952bfe69b9425a967b0bb4490a2ac0 (patch)
treea44749e3f074425c00c87c4a0ca9db1580651b37 /gcc/ada/prj-attr.adb
parent1c0ecdd46a9be6db749ad6ce401a243e47597e4a (diff)
downloadgcc-ce914b984f952bfe69b9425a967b0bb4490a2ac0.zip
gcc-ce914b984f952bfe69b9425a967b0bb4490a2ac0.tar.gz
gcc-ce914b984f952bfe69b9425a967b0bb4490a2ac0.tar.bz2
prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when package is not known
2007-12-19 Vincent Celier <celier@adacore.com> * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when package is not known * prj-attr.ads (Unknown_Package): New constant Do not crash when an unknown package is in several projects * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as ignored * prj-nmsc.adb (Check): Remove obsolete code related to no longer existing package Language_Processing. From-SVN: r131078
Diffstat (limited to 'gcc/ada/prj-attr.adb')
-rw-r--r--gcc/ada/prj-attr.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb
index bb5cfb4..0f3fef4 100644
--- a/gcc/ada/prj-attr.adb
+++ b/gcc/ada/prj-attr.adb
@@ -602,7 +602,11 @@ package body Prj.Attr is
begin
for Index in Package_Attributes.First .. Package_Attributes.Last loop
if Package_Attributes.Table (Index).Name = Name then
- return (Value => Index);
+ if Package_Attributes.Table (Index).Known then
+ return (Value => Index);
+ else
+ return Unknown_Package;
+ end if;
end if;
end loop;
@@ -689,6 +693,7 @@ package body Prj.Attr is
Attr_Kind => Real_Attr_Kind,
Read_Only => False,
Next => First_Attr);
+
Package_Attributes.Table (In_Package.Value).First_Attribute :=
Attrs.Last;
end Register_New_Attribute;