------- Comment #6 from ghazi at gcc dot gnu dot org 2007-02-16 05:16 ------- (In reply to comment #4) > [...] It may be darwin-specific. > This is my best guess. Consider > program j > x = erf(1.5) > end program j > With a 4.2 gfortran prior to your patches, -fdump-tree-original gives > MAIN__ () > { > real4 x; > _gfortran_set_std (70, 127, 0); > x = __builtin_erff (1.5e+0); > } > With a fairly up to date trunk with your patch, I get > MAIN__ () > { > real4 x; > _gfortran_set_std (70, 127, 0, 0); > x = 9.66105163097381591796875e-1; > }
Okay, actually I'm pleased to know that fortran uses the generic middle-end builtins infrastructure. Anyway, looks like it works for you (and me) so I agree it's likely darwin specific and I'm still of the opinion it's not a darwin GCC bug, but rather a buggy build of GMP and/or MPFR on Tobi's darwin box. What say you Tobi, can you confirm either way? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30816