summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.f9030
2 files changed, 18 insertions, 17 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d8a56319e8b..5e629d6fad6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-07 Feng Wang <fengwang@nudt.edu.cn>
+
+ * gfortran.fortran-torture/execute/intrinsic_set_exponent.f90: Fix
+ nonconformance usage.
+
2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/28862
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
index d29cf533c24..6f934e591c0 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
@@ -4,10 +4,11 @@ program test_set_exponent
call test_real4()
call test_real8()
end
+
subroutine test_real4()
- real x,y
- integer i,n
- equivalence(x,i)
+ real*4 x,y
+ integer*4 i,n
+ equivalence(x, i)
n = -148
x = 1024.0
@@ -20,7 +21,8 @@ subroutine test_real4()
if (exponent (y) .ne. n) call abort()
n = 128
- i = o'00037777777'
+ i = 8388607
+ x = transfer (i, x) ! z'007fffff' Positive denormalized floating-point.
y = set_exponent (x, n)
if (exponent (y) .ne. n) call abort()
@@ -36,7 +38,8 @@ subroutine test_real4()
if (exponent (y) .ne. n) call abort()
n = 128
- i = o'20037777777'
+ i = -2139095041
+ x = transfer (i, x) ! z'807fffff' Negative denormalized floating-point.
y = set_exponent (x, n)
if (exponent (y) .ne. n) call abort()
@@ -45,7 +48,7 @@ end
subroutine test_real8()
implicit none
real*8 x, y
- integer*8 i, n, low
+ integer*8 i, n
equivalence(x, i)
n = -1073
@@ -60,19 +63,14 @@ subroutine test_real8()
if (exponent (y) .ne. n) call abort()
n = 1024
- low = z'ffffffff'
- i = z'000fffff'
- i = ishft (i, 32) + low !'000fffffffffffff'
+ i = 4503599627370495_8
+ x = transfer (i, x) !z'000fffffffffffff' Positive denormalized floating-point.
y = set_exponent (x, n)
- low = z'fffffffe'
- i = z'7fefffff'
- i = ishft (i, 32) + low
if (exponent (y) .ne. n) call abort()
n = -1073
x = -1024.0
y = set_exponent (x, n)
- low = z'00000001'
if ((y .ne. 0.0) .and. (exponent (y) .ne. n)) call abort()
n = 8
@@ -82,10 +80,8 @@ subroutine test_real8()
if (exponent (y) .ne. n) call abort()
n = 1024
- low = z'ffffffff'
- i = z'800fffff'
- i = ishft (i, 32) + low !z'800fffffffffffff'
+ i = -9218868437227405313_8
+ x = transfer (i, x)!z'800fffffffffffff' Negative denormalized floating-point.
y = set_exponent (x, n)
if (exponent (y) .ne. n) call abort()
-
end