Someone broke complex arithmetic
Steve Kargl
sgk@troutmask.apl.washington.edu
Tue Jul 19 02:31:00 GMT 2005
This is a heads up. Someone has broken complex arithmetic
on mainline. I've just found this problem and unfortunately
it will take me some time to cut the test program down to
something managable. This could be a gfortran bug or it
may be a middle/back end bug.
Here's the output from a program that brought the problem
to my attention. It uses downward recursion to compute
spherical Bessel functions.
NAG's F95 compiler
n x jn(x) jn(cmplx(x,0))
0 2.2900E+01 -3.4445E-02 -3.4445E-02 0.0000E+00
1 2.2900E+01 2.5337E-02 2.5337E-02 0.0000E+00
2 2.2900E+01 3.7765E-02 3.7765E-02 0.0000E+00
3 2.2900E+01 -1.7091E-02 -1.7091E-02 0.0000E+00
4 2.2900E+01 -4.2989E-02 -4.2989E-02 0.0000E+00
gfortran mainline
n x jn(x) jn(cmplx(x,0))
0 2.2900E+01 -3.4445E-02 -3.4445E-02 0.0000E+00
1 2.2900E+01 2.5337E-02 3.9638E-02 0.0000E+00
2 2.2900E+01 3.7765E-02 -5.0710E-02 0.0000E+00
3 2.2900E+01 -1.7091E-02 7.3035E-02 0.0000E+00
4 2.2900E+01 -4.2989E-02 -1.2032E-01 0.0000E+00
Notice the 3rd column is foobar.
Also note that I'm seeing this problem on i386-*-freebsd and
amd64-*-freebsd.
--
Steve
More information about the Gcc
mailing list