summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/gfortran.dg/pr96711.f906
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr96711.f90 b/gcc/testsuite/gfortran.dg/pr96711.f90
index 3761a8ea416..3fa5d99cbf2 100644
--- a/gcc/testsuite/gfortran.dg/pr96711.f90
+++ b/gcc/testsuite/gfortran.dg/pr96711.f90
@@ -10,10 +10,12 @@ program p
implicit none
real(8) :: x
real(16) :: y
+ ! Assume radix(x) == 2
+ ! 2/epsilon(x) = 2/(radix(x)**(1-digits(x)) = 2**digits(x) with that assumption
integer(16), parameter :: k1 = nint (2 / epsilon (x), kind(k1))
integer(16), parameter :: k2 = nint (2 / epsilon (y), kind(k2))
- integer(16), parameter :: m1 = 9007199254740992_16 !2**53
- integer(16), parameter :: m2 = 10384593717069655257060992658440192_16 !2**113
+ integer(16), parameter :: m1 = 2_16**digits(x) ! IEEE: 2**53
+ integer(16), parameter :: m2 = 2_16**digits(y) ! IEEE: 2**113
integer(16), volatile :: m
x = 2 / epsilon (x)
y = 2 / epsilon (y)