Commit 215aeb67 by Vincent Celier Committed by Arnaud Charlet

2008-08-05 Vincent Celier <celier@adacore.com>

	* prj-proc.adb:
	(Process_Declarative_Items): Skip associative array attribute when index
	is reserved word "others".

From-SVN: r138681
parent 646acd10
...@@ -1891,51 +1891,53 @@ package body Prj.Proc is ...@@ -1891,51 +1891,53 @@ package body Prj.Proc is
-- Associative array attribute -- Associative array attribute
else else
-- Get the string index
Get_Name_String
(Associative_Array_Index_Of
(Current_Item, From_Project_Node_Tree));
-- Put in lower case, if necessary
declare declare
Lower : Boolean; Index_Name : Name_Id :=
Associative_Array_Index_Of
(Current_Item, From_Project_Node_Tree);
Lower : Boolean;
The_Array : Array_Id;
The_Array_Element : Array_Element_Id :=
No_Array_Element;
begin begin
Lower := if Index_Name /= All_Other_Names then
Case_Insensitive -- Get the string index
(Current_Item, From_Project_Node_Tree);
-- In multi-language mode (gprbuild), the index is Get_Name_String
-- always case insensitive if it does not include (Associative_Array_Index_Of
-- any dot. (Current_Item, From_Project_Node_Tree));
if Get_Mode = Multi_Language and then not Lower then -- Put in lower case, if necessary
for J in 1 .. Name_Len loop
if Name_Buffer (J) = '.' then
Lower := False;
exit;
end if;
end loop;
end if;
if Lower then Lower :=
GNAT.Case_Util.To_Lower Case_Insensitive
(Name_Buffer (1 .. Name_Len)); (Current_Item, From_Project_Node_Tree);
end if;
end;
declare -- In multi-language mode (gprbuild), the index
The_Array : Array_Id; -- is always case insensitive if it does not
-- include any dot.
The_Array_Element : Array_Element_Id := if Get_Mode = Multi_Language
No_Array_Element; and then not Lower
then
for J in 1 .. Name_Len loop
if Name_Buffer (J) = '.' then
Lower := False;
exit;
end if;
end loop;
end if;
Index_Name : constant Name_Id := Name_Find; if Lower then
-- The name id of the index GNAT.Case_Util.To_Lower
(Name_Buffer (1 .. Name_Len));
end if;
Index_Name := Name_Find;
end if;
begin
-- Look for the array in the appropriate list -- Look for the array in the appropriate list
if Pkg /= No_Package then if Pkg /= No_Package then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment