------- Comment #4 from fxcoudert at gcc dot gnu dot org 2005-12-15 09:25 ------- Adding a printf into the libgfortran csqrt() code:
re = REALPART (z); im = IMAGPART (z); printf ("input: %lg %lg\n", re, im); shows that it is used in both cases, but the input value is crap in the dynamically-linked case: $ ./bin/gfortran -static foo.f90 && ./a.out ( -1.000000 , 0.000000 ) ( 0.000000 , 1.000000 ) input: -1 0 ( -1.00000000000000 , 0.00000000000000 ) ( 0.00000000000000 , 1.00000000000000 ) $ ./bin/gfortran foo.f90 && ./a.out ( -1.000000 , 0.000000 ) ( 0.000000 , 1.000000 ) input: 6.64573e-316 1.59098e-314 ( -1.00000000000000 , 0.00000000000000 ) ( 1.397677071793657E-312, 3.756040694101013E-317) I don't know what happens here! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25370