-- --
-- 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- --
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);