2008-05-26 Robert Dewar <dewar@adacore.com>

* exp_ch2.adb:
	(Expand_Current_Value): Properly type generated integer literal

From-SVN: r135904
This commit is contained in:
Robert Dewar 2008-05-26 11:41:03 +02:00 committed by Arnaud Charlet
parent ac38d4afd3
commit b98bd80dcf
1 changed files with 11 additions and 3 deletions

View File

@ -193,13 +193,21 @@ package body Exp_Ch2 is
Unchecked_Convert_To (T,
New_Occurrence_Of (Entity (Val), Loc)));
-- Otherwise get the value, and convert to appropriate type
-- If constant is of an integer type, just make an appropriately
-- integer literal, which will get the proper type.
elsif Is_Integer_Type (T) then
Rewrite (N,
Make_Integer_Literal (Loc,
Intval => Expr_Rep_Value (Val)));
-- Otherwise do unchecked conversion of value to right type
else
Rewrite (N,
Unchecked_Convert_To (T,
Make_Integer_Literal (Loc,
Intval => Expr_Rep_Value (Val))));
Make_Integer_Literal (Loc,
Intval => Expr_Rep_Value (Val))));
end if;
Analyze_And_Resolve (N, T);