+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
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
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()
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()
subroutine test_real8()
implicit none
real*8 x, y
- integer*8 i, n, low
+ integer*8 i, n
equivalence(x, i)
n = -1073
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
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