Testsuite/Fortran: gfortran.dg/pr96711.f90 - fix expected value for PowerPC [PR96983]
gcc/testsuite/ChangeLog:
PR fortran/96983
* gfortran.dg/pr96711.f90: Use 2**digit(x) instead of a hard-coded value;
add comments regarding what the code does.
(cherry picked from commit 9e0a5e3ea37f9d7d2b6f2dab7c0bfbeaf08466a3)
diff --git a/gcc/testsuite/gfortran.dg/pr96711.f90 b/gcc/testsuite/gfortran.dg/pr96711.f90
index 3761a8e..3fa5d99 100644
--- a/gcc/testsuite/gfortran.dg/pr96711.f90
+++ b/gcc/testsuite/gfortran.dg/pr96711.f90
@@ -10,10 +10,12 @@
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)