From d42ec90cbcf7c0098756f5f32c296d146c459d30 Mon Sep 17 00:00:00 2001 From: Vincent Celier Date: Wed, 20 Aug 2008 16:27:11 +0200 Subject: [PATCH] prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data 2008-08-20 Vincent Celier * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data * prj.ads (Array_Data): Add a component Location From-SVN: r139300 --- gcc/ada/prj-proc.adb | 38 ++++++++++++++++++++++++++------------ gcc/ada/prj.ads | 7 ++++--- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/gcc/ada/prj-proc.adb b/gcc/ada/prj-proc.adb index 24d42e40a27..2fb4d75df04 100644 --- a/gcc/ada/prj-proc.adb +++ b/gcc/ada/prj-proc.adb @@ -1417,6 +1417,11 @@ package body Prj.Proc is From_Project_Node_Tree); -- The name of the attribute + Current_Location : constant Source_Ptr := + Location_Of + (Current_Item, + From_Project_Node_Tree); + New_Array : Array_Id; -- The new associative array created @@ -1483,9 +1488,10 @@ package body Prj.Proc is if Pkg /= No_Package then In_Tree.Arrays.Table (New_Array) := - (Name => Current_Item_Name, - Value => No_Array_Element, - Next => + (Name => Current_Item_Name, + Location => Current_Location, + Value => No_Array_Element, + Next => In_Tree.Packages.Table (Pkg).Decl.Arrays); In_Tree.Packages.Table (Pkg).Decl.Arrays := @@ -1493,9 +1499,10 @@ package body Prj.Proc is else In_Tree.Arrays.Table (New_Array) := - (Name => Current_Item_Name, - Value => No_Array_Element, - Next => + (Name => Current_Item_Name, + Location => Current_Location, + Value => No_Array_Element, + Next => In_Tree.Projects.Table (Project).Decl.Arrays); In_Tree.Projects.Table (Project).Decl.Arrays := @@ -1706,6 +1713,11 @@ package body Prj.Proc is (Current_Item, From_Project_Node_Tree); + Current_Location : constant Source_Ptr := + Location_Of + (Current_Item, + From_Project_Node_Tree); + begin -- Process a typed variable declaration @@ -1970,9 +1982,10 @@ package body Prj.Proc is if Pkg /= No_Package then In_Tree.Arrays.Table (The_Array) := - (Name => Current_Item_Name, - Value => No_Array_Element, - Next => + (Name => Current_Item_Name, + Location => Current_Location, + Value => No_Array_Element, + Next => In_Tree.Packages.Table (Pkg).Decl.Arrays); @@ -1981,9 +1994,10 @@ package body Prj.Proc is else In_Tree.Arrays.Table (The_Array) := - (Name => Current_Item_Name, - Value => No_Array_Element, - Next => + (Name => Current_Item_Name, + Location => Current_Location, + Value => No_Array_Element, + Next => In_Tree.Projects.Table (Project).Decl.Arrays); diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads index 27fba81bf09..9c16393f64c 100644 --- a/gcc/ada/prj.ads +++ b/gcc/ada/prj.ads @@ -253,9 +253,10 @@ package Prj is type Array_Id is new Nat; No_Array : constant Array_Id := 0; type Array_Data is record - Name : Name_Id := No_Name; - Value : Array_Element_Id := No_Array_Element; - Next : Array_Id := No_Array; + Name : Name_Id := No_Name; + Location : Source_Ptr := No_Location; + Value : Array_Element_Id := No_Array_Element; + Next : Array_Id := No_Array; end record; -- Each Array_Data value represents an array. -- Value is the id of the first element. -- 2.30.2