exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types to be encoded as...

2005-09-01  Nicolas Setton  <setton@adacore.com>

	* exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
	to be encoded as typ___XBLU_lowerbound__upperbound instead of
	typ___XB_lowerbound__upperbound.

From-SVN: r103862
This commit is contained in:
Nicolas Setton 2005-09-05 09:53:34 +02:00 committed by Arnaud Charlet
parent 2f1b20a916
commit 04efc8a196
1 changed files with 19 additions and 13 deletions

View File

@ -562,12 +562,6 @@ package body Exp_Dbug is
elsif Is_Discrete_Type (E)
and then not Bounds_Match_Size (E)
then
if Has_Biased_Representation (E) then
Get_External_Name_With_Suffix (E, "XB");
else
Get_External_Name_With_Suffix (E, "XD");
end if;
declare
Lo : constant Node_Id := Type_Low_Bound (E);
Hi : constant Node_Id := Type_High_Bound (E);
@ -588,16 +582,28 @@ package body Exp_Dbug is
Lo_Encode : constant Boolean := Lo_Con or Lo_Discr;
Hi_Encode : constant Boolean := Hi_Con or Hi_Discr;
Biased : constant Boolean := Has_Biased_Representation (E);
begin
if Biased then
Get_External_Name_With_Suffix (E, "XB");
else
Get_External_Name_With_Suffix (E, "XD");
end if;
if Lo_Encode or Hi_Encode then
if Lo_Encode then
if Hi_Encode then
Add_Str_To_Name_Buffer ("LU_");
else
Add_Str_To_Name_Buffer ("L_");
end if;
if Biased then
Add_Str_To_Name_Buffer ("_");
else
Add_Str_To_Name_Buffer ("U_");
if Lo_Encode then
if Hi_Encode then
Add_Str_To_Name_Buffer ("LU_");
else
Add_Str_To_Name_Buffer ("L_");
end if;
else
Add_Str_To_Name_Buffer ("U_");
end if;
end if;
if Lo_Con then