mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 11:41:07 +08:00
[Ada] Do not second-guess the hardware for underflow handling of Scaling
gcc/ada/ * libgnat/s-fatgen.adb (Scaling): Use single handling of underflow. Add pragma Annotate.
This commit is contained in:
parent
1075946d06
commit
b6f9471df1
@ -781,11 +781,9 @@ package body System.Fat_Gen is
|
||||
-- Check for underflow
|
||||
|
||||
elsif Adjustment < IEEE_Emin - Exp then
|
||||
-- Check for gradual underflow
|
||||
-- Check for possibly gradual underflow (up to the hardware)
|
||||
|
||||
if T'Denorm
|
||||
and then Adjustment >= IEEE_Emin - Mantissa - Exp
|
||||
then
|
||||
if Adjustment >= IEEE_Emin - Mantissa - Exp then
|
||||
Expf := IEEE_Emin;
|
||||
Expi := Exp + Adjustment - Expf;
|
||||
|
||||
@ -810,6 +808,9 @@ package body System.Fat_Gen is
|
||||
-- Given that Expi >= -Mantissa, only -64 is problematic
|
||||
|
||||
if Expi = -64 then
|
||||
pragma Annotate
|
||||
(CodePeer, Intentional, "test always false",
|
||||
"test always false in some instantiations");
|
||||
XX := XX / 2.0;
|
||||
Expi := -63;
|
||||
end if;
|
||||
|
Loading…
x
Reference in New Issue
Block a user