prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
authorVincent Celier <celier@adacore.com>
Wed, 20 Aug 2008 14:27:11 +0000 (16:27 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 20 Aug 2008 14:27:11 +0000 (16:27 +0200)
2008-08-20  Vincent Celier  <celier@adacore.com>

* 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
gcc/ada/prj.ads

index 24d42e4..2fb4d75 100644 (file)
@@ -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);
 
index 27fba81..9c16393 100644 (file)
@@ -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.