summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-proc.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-30 10:59:41 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-30 10:59:41 +0000
commit447b1f654893db596bfc8ac8b7e95a3fff2642c7 (patch)
treeae963440f1ba67f2811fa3dcc4a41d01b5bdf34e /gcc/ada/prj-proc.adb
parentf9e8225aa5b1b3267b09494c13e47661af027c39 (diff)
downloadgcc-447b1f654893db596bfc8ac8b7e95a3fff2642c7.tar.gz
2009-11-30 Thomas Quinot <quinot@adacore.com>
* osint.adb: Minor reformatting 2009-11-30 Vincent Celier <celier@adacore.com> * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get the base name of a main without the extension, with an eventual source index. (Mains.Get_Index): New procedure to set the source index of a main (Mains.Get_Index): New function to get the source index of a main * prj-attr.adb: New attributes Config_Body_File_Name_Index, Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and Multi_Unit_Switches. * prj-nmsc.adb (Process_Compiler): Takle into account new attributes Config_Body_File_Name_Index, Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and Multi_Unit_Switches. Allow only one character for Multi_Unit_Object_Separator. * prj-proc.adb (Process_Declarative_Items): Take into account the source indexes in indexes of associative array attribute declarations. * prj.adb (Object_Name): New function to get the object file name for units in multi-unit sources. * prj.ads (Language_Config): New components Multi_Unit_Switches, Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index. (Object_Name): New function to get the object file name for units in multi-unit sources. * snames.ads-tmpl: New standard names Config_Body_File_Name_Index, Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and Multi_Unit_Switches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154782 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-proc.adb')
-rw-r--r--gcc/ada/prj-proc.adb14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ada/prj-proc.adb b/gcc/ada/prj-proc.adb
index 0cd20c8f19d..9dde01b1437 100644
--- a/gcc/ada/prj-proc.adb
+++ b/gcc/ada/prj-proc.adb
@@ -1871,6 +1871,9 @@ package body Prj.Proc is
Index_Name : Name_Id :=
Associative_Array_Index_Of
(Current_Item, From_Project_Node_Tree);
+ Source_Index : constant Int :=
+ Source_Index_Of
+ (Current_Item, From_Project_Node_Tree);
The_Array : Array_Id;
The_Array_Element : Array_Element_Id :=
No_Array_Element;
@@ -1943,12 +1946,15 @@ package body Prj.Proc is
end if;
-- Look in the list, if any, to find an element
- -- with the same index.
+ -- with the same index and same source index.
while The_Array_Element /= No_Array_Element
and then
- In_Tree.Array_Elements.Table
+ (In_Tree.Array_Elements.Table
(The_Array_Element).Index /= Index_Name
+ or else
+ In_Tree.Array_Elements.Table
+ (The_Array_Element).Src_Index /= Source_Index)
loop
The_Array_Element :=
In_Tree.Array_Elements.Table
@@ -1968,9 +1974,7 @@ package body Prj.Proc is
In_Tree.Array_Elements.Table
(The_Array_Element) :=
(Index => Index_Name,
- Src_Index =>
- Source_Index_Of
- (Current_Item, From_Project_Node_Tree),
+ Src_Index => Source_Index,
Index_Case_Sensitive =>
not Case_Insensitive
(Current_Item, From_Project_Node_Tree),