------- 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

Reply via email to