OSDN Git Service

2011-12-05 Bob Duff <duff@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / prj-attr-pm.adb
index ef843c0..9b75c05 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2008, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -35,19 +35,21 @@ package body Prj.Attr.PM is
       Attribute_Node : out Attribute_Node_Id)
    is
    begin
-      --  Only add the attribute if the package is already defined
+      --  Only add attribute if package is already defined and is not unknown
+
+      if To_Package /= Empty_Package   and then
+         To_Package /= Unknown_Package
+      then
+         Attrs.Append (
+           (Name           => Attribute_Name,
+            Var_Kind       => Undefined,
+            Optional_Index => False,
+            Attr_Kind      => Unknown,
+            Read_Only      => False,
+            Others_Allowed => False,
+            Next           =>
+              Package_Attributes.Table (To_Package.Value).First_Attribute));
 
-      if To_Package /= Empty_Package then
-         Attrs.Increment_Last;
-         Attrs.Table (Attrs.Last) :=
-           (Name              => Attribute_Name,
-            Var_Kind          => Undefined,
-            Optional_Index    => False,
-            Attr_Kind         => Unknown,
-            Read_Only         => False,
-            Others_Allowed    => False,
-            Next              =>
-              Package_Attributes.Table (To_Package.Value).First_Attribute);
          Package_Attributes.Table (To_Package.Value).First_Attribute :=
            Attrs.Last;
          Attribute_Node := (Value => Attrs.Last);