This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Testsuite failures with Intel OSX 10.5.0
- From: dominiq at lps dot ens dot fr (Dominique Dhumieres)
- To: fortran at gcc dot gnu dot org
- Date: Fri, 16 Nov 2007 17:58:34 +0100
- Subject: Testsuite failures with Intel OSX 10.5.0
I have been able to build gfortran on Intel OSX 10.5.0 without
trouble. However I see three failures:
(1) gfortran.dg/subref_array_pointer_2.f90, all optimization levels.
This is due to the test:
if (any (ptr3 .ne. (/cos(1.0_4), cos(3.0_4)/))) call abort ()
where the value of 'ptr3' corresponding to cos(1.0_4) differs by
one lsb. I have run the following test on OSX 10.4 and 10.5
integer :: i, n
real(4) :: x, y
real(8) :: c
n = 24
x = acos(-1.0)/2.0**n
y = 0
do i = 1, 2**n
c = cos(real(i*x,8))
y =max(y, abs(c-cos(i*x))/spacing(real(c)))
end do
print *, y
end
y time
10.4 0.499..97 2.71s
10.5 0.84559828 1.89s
So the new library seems slightly less accurate, but faster than
the old one. This cold not probably considered as a bug, rather
a feature. This support some whishes to have OS independent libraries.
(2) gfortran.fortran-torture/execute/intrinsic_set_exponent.f90
The failure occurs with real(4) (not 8) as shown by the following
code:
!Program to test SET_EXPONENT intrinsic function.
real*4 x,y
integer*4 i,n
equivalence(x, i)
n = -125
x = 1024.0
y = set_exponent (x, n)
print *, y, n, exponent(y)
n = -126
y = set_exponent (x, n)
print *, y, n, exponent(y)
n = -148
y = set_exponent (x, n)
print *, y, n, exponent(y)
n = -149
y = set_exponent (x, n)
print *, y, n, exponent(y)
if ((y .ne. 0.0) .and. (exponent (y) .ne. n)) call abort()
end
which yields:
1.17549435E-38 -125 -125
5.87747175E-39 -126 -127
1.40129846E-45 -148 -149
0.0000000 -149 0
where the result of exponent is off by -1 (the value of 'y'
is correct). This is certainly due to some changes in the
library, but it may also come from the implementation
of exponent in libgfortran(?).
(3) gfortran.dg/bind_c_coms.f90 which fails because of the warnings:
ld: warning alignment lost in merging tentative definition _f03_com2
ld: warning alignment lost in merging tentative definition _mycom
ld: warning alignment lost in merging tentative definition _mycom2
ld: warning alignment lost in merging tentative definition _single
Dominique