[Ada] Small adjustment to System.Val_Real

gcc/ada/

	* libgnat/s-valrea.adb (Integer_to_Real): Always use Extra.
This commit is contained in:
Eric Botcazou 2020-11-26 15:58:24 +01:00 committed by Pierre-Marie de Rodat
parent 7d07d75d69
commit 2224729c89

View file

@ -82,13 +82,12 @@ package body System.Val_Real is
System.Float_Control.Reset;
end if;
-- Take into account the extra digit near the limit to avoid anomalies
-- Take into account the extra digit
if Extra > 0 and then Val <= Precision_Limit / Uns (Base) then
R_Val := Num (Val * Uns (Base)) + Num (Extra);
R_Val := Num (Val);
if Extra > 0 then
R_Val := R_Val * Num (Base) + Num (Extra);
S := S - 1;
else
R_Val := Num (Val);
end if;
-- Compute the final value