From 94ff25998d3575d61c733e75e39e4d2cf13f6a1f Mon Sep 17 00:00:00 2001 From: Vincent Celier Date: Thu, 28 Jan 2010 13:40:10 +0000 Subject: [PATCH] prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is Unknown_Package. 2010-01-28 Vincent Celier * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is Unknown_Package. From-SVN: r156318 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/prj-attr-pm.adb | 28 +++++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 848eb336ed6..15aa111932e 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2010-01-28 Vincent Celier + + * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is + Unknown_Package. + 2010-01-28 Robert Dewar * gnat_rm.texi: Minor correction diff --git a/gcc/ada/prj-attr-pm.adb b/gcc/ada/prj-attr-pm.adb index ef843c05b5b..9b75c0526e4 100644 --- a/gcc/ada/prj-attr-pm.adb +++ b/gcc/ada/prj-attr-pm.adb @@ -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);